- ArrayList 和 Vector 都是使用数组存储数据
- 允许直接按序号索引元素
- 插入元素涉及数组扩容、元素移动等内存操作
- 根据下标找元素快,存在扩容的情况下插入慢
- Vector 对元素的操作,使用了 synchronized 方法,性能比 ArrayList 差
- Vector 属于遗留容器,早期的 JDK 中使用的容器
- LinkedList 使用双向链表存储元素
- LinkedList 按序号查找元素,需要进行前向或后向遍历,所以按下标查找元素,效率较低
- LinkedList 非线程安全
- LinkedList 使用的链式存储方式与数组的连续存储方式相比,对内存的利用率更高
- LinkedList 插入数据时只需要移动指针即可,所以插入速度较快