ArrayList和LinkedList的异同
- 二者都是线程不安全的,相对于线程安全的Vector,执行效率高。
- ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表的数据结构。
- 对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针
- 对于新增(特质插入)add和删除remove操作,LinkedList占优,因为ArrayList要移动数据。
ArrayList和Vector的异同
- Vector和ArrayList几乎是完全相同的,唯一区别在于Vector是同步类(Synchronized),强同步类。因此开销就比ArrayList大,访问要慢。(使用ArrayList,可以自己控制是否完全同步)
- Vector每次扩容请求其大小的2倍空间,而ArrayList是1.5倍。Vector还有一个子类Stack