如何选择ArrayList和LinkedList:
1)如果我们改查的操作多,选择ArrayList
2)如果我们增删的操作多,选择LinkedList
3)一般来说,在程序中,80%-90%都是查询,因此大部分情况下会选择ArrayList
4)在一个项目中,根据业务灵活选择,也可能这样,一个模块使用的是ArrayList,另外一个模块是LinkedList.
补充说明:
list下常用实现类中, ArrayList和Vector的底层是动态数组,LinkedList的底层是双向链表. Arraylist与LinkedList是线程不安全的,支持单线程;而Vector类是线程安全的,支持多线程。Vector中的方法都是同步方法 (synchronized),所以ArrayList的执行效率要高于Vector,它也是用的最广泛的一种集合。