【Java】Collection,List,ArrayList,

2017-10-01  本文已影响0人  NoFacePeace

Collection

Collection是Java集合的一个根接口,JDK没有它的实现类。内部仅仅做add(),remove(),contains(),size()等方法的声明。

List

List接口是Collection接口的一个子类,在Collection基础上扩充了方法。同时可以对每个元素插入的位置进行精确的控制,它的主要实现类有Arraylist,Vector,LinkedList。
这里需要注意的是,List接口的实现类插入的值允许为空,也允许重复。

ArrayList

ArrayList实现了List接口,意味着可以插入空值,也可以插入重复的值,非同步,它是基于数组的一个实现。

Vector

上述的ArrayList不是线程安全的。那么Vector就可以看作是ArrayList的一个线程安全版本。由于也是实现了List接口,所以也是可以插入空值,可以插入重复的值。它和HashTable一样,是属于一种同步容器,而不是一种并发容器。

LinkedList

LinkedList实现了List接口,所以LinkedList也可以放入重复的值,也可以放入空值。LinkedList不支持同步。LinkedList不同于ArrrayList和Vector,它是使用链表的数据结构,不再是数组。
当进行增删的时候,只需要改变指针,并不会像数组那样出现整体数据的大规模移动,复制等消耗性能的操作。

对比

上一篇 下一篇

猜你喜欢

热点阅读