`

java数组和容器(Collection)

    博客分类:
  • j2se
阅读更多

一,数组:(定义、分配空间、赋值)

一维数组的声明:type []  var 或者 type  var [];

java中试用new 创建数组对象格式为:数组名 = new 数组元素类型[数组元素个数];

注意理解基本数据类型数组和引用类型一维数组的内存分配差异。

数组的定义与初始化

 

1,数组动态初始化(数组的定义也就是数组的空间分配和数组元素的赋值分开进行):数组的定义与数组元素分配空间和赋值操作分开进行。

eg1: int a[];

      a = new int[3];

      a [0] = 1;    a [1] = 2;   a [2] = 3;

eg2  Date d [];

        d = new Date[2];

        d[0] = new Date(5,12,2008);      d[1] = new Date(3,22,2011);

 

2,数组静态初始化:定义数组的同时就为数组元素分配空间并赋值。

eg1:int a[] =  {1,2,3};   /    int[] a = {1,2,3};

eg2:  Date d[] = {new Date(8,8,2008),new Date(5,12,2008),new Date(3,22,2011),new Date(15,8,2011)};

 

数组元素默认的初始化: int 类型的默认值是0,  float 和double类型默认的是0.0;  String或者自定义对象是null。 eg:  int[] i = new int[5];  System.out.println(i[2]);

数组的下标:从0开始到n-1。

每个数组都有一个length属性指明其长度  eg: a.length的值为数组a的长度(元素个数)

 

二维数组:二维数组可以看成是数组的数组,也就是以数组为元素的数组。

eg:int a[][] = {{1,2},{3,4,5},{6,7,8,9}};

多维度数组的初始化应该按照从高维到低维的顺序进行(通俗的讲就是从左到右)。从内存分配方面来理解。

eg:int a[][] = new int[3][];

       a[0] = new int[2];

       a[1] = new int[3];

       a[2] = new int[3];

下面的做法是非法的:int a[][] = new int[][5];

数组拷贝  System.arraycopy(src, srcPos, dest, destPos, length);

 

二,集合

    1,Collection接口:层次结构中的根元素
        
    2,List接口:有序,可以重复
      2.1,ArrayList    数组的形式存储    连续的内存存储    查找 快   插入删除慢     删除中间的元素的时候会把删除元素的后面的元素往前移动。线程不安全,效率高 
      2.2,LinkedList   链表的形式存储    非连续的内存存储     查找 慢     插入/删除 快    链式存储  无法根据偏移量计算出下一个元素的位置  需要遍历才能找到.  线程不安全,效率高 

       2.3Vector 数组的形式存储    连续的内存存储。 线程安全,效率低下。 
    3,Set接口:无序,不可以重复
       
    4,Map接口:里面存放的是键值对的方法
       4.1:HashMap  线程不安全的,效率高

       4.2:HashTable  线程安全的,效率低


    5,

 

    6,

 

    7,

 

Java数组、ArrayList、LinkedList和Vector性能比较



 

 使用容器或者数组的 要考虑的几点:
    a,内存分配
    b,插入   查找   删除 的效率
    c,线程安全
    d, 

 

 

 

 

  • 大小: 22.5 KB
分享到:
评论

相关推荐

    Java对象的容纳 数组。容器

    在Java编程中,对象的容纳主要分为两种方式:数组和容器。这里我们将详细讨论这两种方式。 **一、数组** 数组是一种基础的存储结构,它允许我们存储相同类型的对象引用。在Java中,数组的创建和使用可以通过以下...

    Java基础教程:数组和集合

    Java 基础教程:数组和集合 Java 中的数组和集合是两个非常重要的概念,它们用于存储和操作数据。在本文中,我们将详细介绍 Java 中的数组和集合,包括它们的定义、初始化、访问和常见操作。 数组(Array) 数组...

    Java容器框架 collection集合

    Java容器类库主要目的是为了存储对象,根据不同的数据结构,可以将其划分为两个主要的概念:**Collection** 和 **Map**。 - **Collection**:这是一个单一元素的序列。它进一步细分为以下几个子类: - **List**:...

    java容器详细解析

    Java容器详细解析 Java容器是一种基本的数据结构,用于存储和管理对象。Java容器主要分为两大类:Collection...Java容器主要分为Collection和Map两大类,每种容器都有其优点和缺点,需要根据实际情况选择合适的容器。

    数组、单链表和双链表介绍以及双向链表的CC++Java实现 数组和链表.pdf

    动态数组是指数组的容量能动态增长的数组,例如C++的STL提供了Vector,Java的Collection集合中提供了ArrayList和Vector。 单链表 单链表是一种链表的实现方式,由节点组成,每个节点都包含下一个节点的指针。...

    JAVA容器知识积累

    在这个主题下,我们将深入探讨Java中的核心容器类,包括数组、List、Set和Map,以及它们各自的特点和使用场景。 1. **数组**:数组是最基本的容器形式,它允许存储相同类型的数据元素,并通过索引来访问。数组提供...

    java 集合类 容器类

    Java标准库提供了一系列丰富的集合类框架,包括`Collection`接口及其子接口如`Set`、`List`、`Map`和`Queue`等。这些集合类都位于`java.util`包下。 #### 二、集合类基础概念 集合类主要分为四种类型:`Set`、`...

    java练习题--容器使用练习

    在Java编程语言中,容器是用于存储对象的集合框架,它们提供了一种高效且灵活的方式来组织和管理数据。本练习题旨在帮助你深入理解和熟练掌握Java中的容器使用,特别是其核心类库`java.util`中的ArrayList、...

    java容器学习心得

    在Java编程中,容器(Containers)是存储和操作对象集合的重要工具,主要包括集合(Collections)和映射(Maps)。本文将深入解析Java容器的关键概念、特性以及不同容器类型的应用场景。 #### 一、Collection与Map...

    java容器(持有对象)

    在Java编程中,容器是用来存储和管理对象的类或接口,它们使得我们可以在程序中方便地组织和操作数据。在Java中,常见的容器主要分为三类:List、Set和Map,这些都是Java集合框架的重要组成部分。 首先,我们来看...

    Java 容器.pdf_电子版pdf版

    Java 容器是 Java 语言中的一种集合类库,主要包括 Collection 和 Map 两种类型。Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 Collection Collection 是一种集合接口,提供了对集合...

    JAVA容器对象整理

    这些知识点仅仅是Java容器对象的一部分,实际的博客可能会包含更多细节,如源码分析、性能对比和最佳实践。通过阅读博客中的`持有对象.xmind`文件,可以进一步了解博主对这些概念的详细整理和分类。如果你对Java容器...

    JAVA容器试题.docx

    1. Java 容器框架主要分为 Collection 和 Map 两种。其中,Collection 又分为A、List,B、Set,C、Queue,D、以上都是。答案:D。 2. 以下哪一个是线程安全的:A、Vector,B、HashMap,C、TreeMap,D、ArrayList。...

    Java学习笔记,容器(集合)

    数组是最基本的容器,可以存储多个对象,但它有很多缺点,如长度必须在初始化时指定,数组采用连续存储空间,删除和添加效率低下,数组无法直接保存映射关系,数组缺乏封装,操作繁琐。因此,我们需要一种更强大、更...

    java容器类 是初学者很好的学习材料

    在Java中,容器类主要分为两大类:Collection和Map。 Collection是所有单列集合的父接口,它定义了对集合的基本操作。Collection接口提供了如下的核心方法: - `boolean add(Object obj)`: 向集合中添加一个元素,...

    java对象容器.docx

    Java对象容器是Java编程语言中用于存储和管理对象的关键组件,它们提供了灵活的方式来组织和操作数据,弥补了数组在某些场景下的不足。本篇文章将详细探讨Java中的对象容器,包括其核心特性、主要类型以及如何根据...

    java中集合容器的详细介绍

    ArrayList和LinkedList是List接口的典型实现,ArrayList使用动态数组实现,适合随机访问,插入和删除效率相对较低;而LinkedList则通过链表实现,适合频繁的插入和删除,但随机访问效率低。 除了这些基本接口,集合...

    Java程序设计 3 数组与集合.pptx

    数组是一种固定大小的、同类型数据的序列,而集合则是一个更为灵活的数据容器,提供了多种操作和功能。 首先,数组是一种基础的数据结构,它允许程序员存储一组相同类型的元素。数组的长度在声明时确定,并且不可...

Global site tag (gtag.js) - Google Analytics