第17章(中)--集合

Posted -xuewuzhijing-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第17章(中)--集合相关的知识,希望对你有一定的参考价值。

1.ArrayList底层结构和源码分析

 

      ArrayList的全面说明

 

1)      Resizable-array implementation of the List interface [ArrayList实现了List的接口,底层是一个数组,并实现可变的功能.]
ArrayList 属性 : transient Object[] elementData;

2)      Implements all optional list operations [ArrayList实现了List所有的操作。

3)      permits all elements, including null [ArrayList 可以添加任意的元素,包括null]

4)      this class provides methods to manipulate the size of the array that is used internally to store the list[ArrayList的数据是保存到array ]

5)      This class is roughly equivalent to Vector, except that it is unsynchronized [ArrayList 和Vector基本相同,除了Vector是线程同步的,ArrayList不是线程同步.]

技术图片

 

 技术图片

 

2.    Vector底层结构和ArrayList的比较

       Vector的基本介绍

 

1) Vector类的定义说明

    

2) The Vector class implements a growable array of objects [Vector底层也是一个可变对象数组]

 

3) Vector 是线程同步的,即线程安全, Vector类的操作方法带有synchronized

 public synchronized E get(int index) {

        if (index >= elementCount)

            throw new ArrayIndexOutOfBoundsException(index);

        return elementData(index);

    }

4) 在开发中,主要使用ArrayList ,只有在确实需要线程同步安全时,才考虑使用Vector(坦克大战)

技术图片

 

 

3.LinkedList

 

技术图片

 

以上是关于第17章(中)--集合的主要内容,如果未能解决你的问题,请参考以下文章

第14章 集合

JAVA-基础-第16章ArrayList集合

快学Scala第13章----集合

第1章 集合&迭代器

第3章 Properties集合

第06章:MongoDB-CRUD操作--集合