ArrayList,LinkedList,Vector,CopyOnWriteArrayList对比
ArrayList,LinkedList,Vector,CopyOnWriteArrayList都是List接口的实现类,List接口是有序集合,可以精确的控制在那个位置插入元素,可以通过索引位置访问元素。但是这几实现类的实现原理完全不同,分别介绍一下。
结论
ArrayList,LinkedList,Vector,CopyOnWriteArrayList都实现了List接口,通过上面的介绍,我们来比较一下,什么情况下用哪个类呢?
-
不需要线程安全时
可以选用ArrayList或LinkedList,当插入,删除操作多于查找操作时,采用LinkedList,反之采用ArrayList,尤其是随机查找比较多时,采用ArrayList。
-
需要线程安全时
可以选用Vector,CopyOnWriteArrayList,当插入,删除操作多与查找操作时两种均可以,反之建议采用CopyOnWriteArrayList。