java容器详细解析-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联是一家专业提供湘西土家族企业网站建设,专注与成都网站制作、成都网站设计、H5建站、小程序制作等业务。10年已为湘西土家族众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

前言:在java开发中我们肯定会大量的使用集合,在这里我将总结常见的集合类,每个集合类的优点和缺点,以便我们能更好的使用集合。下面我用一幅图来表示

java容器详细解析

其中淡绿色的表示接口,红色的表示我们经常使用的类。

1:基本概念

Java容器类类库的用途是保存对象,可以将其分为2个概念。

1.1:Collection

一个独立元素的序列,这些元素都服从一条或多条规则。其中List必须按照插入的顺序保存元素、Set不能有重复的元素、Queue按照排队规则来确定对象的产生顺序(通常也是和插入顺序相同)

1.2:Map

一组成对的值键对对象,允许用键来查找值。ArrayList允许我们用数字来查找值,它是将数字和对象联系在一起。而Map允许我们使用一个对象来查找某个对象,它也被称为关联数组。或者叫做字典。

2:List

List承诺可以将元素维护在特定的序列中。List接口在Collection的基础上加入了大量的方法,使得可以在List中间可以插入和移除元素。下面主要介绍2种List

2.1:基本的ArrayList

它的优点在于随机访问元素快,但是在中间插入和移除比较慢

那么现在我们就一起来看看为什么ArrayList随机访问快,而插入移除比较慢。先说关于ArrayList的初始化。

ArrayList有三种方式进行初始化如下

private transient Object[] elementData;
public ArrayList() {
    this(10);
  }
 public ArrayList(int initialCapacity) {
    super();
    if (initialCapacity < 0)
      throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
    this.elementData = new Object[initialCapacity];
  }
 public ArrayList(Collection<? extends E> c) {
    elementData = c.toArray();
    size = elementData.length;
    // c.toArray might (incorrectly) not return Object[] (see 6260652)
    if (elementData.getClass() != Object[].class)
      elementData = Arrays.copyOf(elementData, size, Object[].class);
  }

文章标题:java容器详细解析-创新互联
本文路径:http://myzitong.com/article/ccjopj.html