List:有序可重复
ArrayList(最常用)
LinkedList
Vector
ArrayList
在工作中,遍历的需求比增删多,即便是增加元素往往也只是从尾部插入元素,而ArrayList在尾部插入元素的时间复杂度也是O(1)。
特点:
- 有序可重复
- 非线程安全
- 底层为数组
- 允许为Null
- 默认初始化容量10,底层先创建了一个长度为0的数组,当添加第一个元素的时候,初始化容量10,每次扩容1.5倍
LinkedList
特点:
- 有序可重复
- 实现了Deque接口,因此,我们可以操作
LinkedList
像操作 队列和栈 一样 - 允许为Null
Vector(少用)
特点:
- 有序可重复
- 底层为数组
- 线程安全
- 允许为Null
被ArrayList
取代的原因
```
1、Vector 所有方法都是同步的,性能有所损失
2、Vector 初始length是10,超过length时,以两倍的比率扩容,相比ArrayList扩容只有1.5倍消耗更多内存
```
Set集合特点:无序不可重复
-----未完待续------