Vector ArrayList LinkedList区别
1. 同步性
Vector 线程安全备注(源码中,Vector底层方法上面有加synchronized)
ArrayList LinkedList 线程不安全
2. 数据增长模式
ArrayList Vector 是使用Objcet数组来储存
当元素需要扩展的时候 Vector长度会自动增长一倍,ArrayList增加50%长度
每次修改长度 会增加资源开销,所以若数据了过大 选择Vector
3. 查询,插入删除效率分析
ArrayList Vector 对于插入删除 效率很快,通过索引操作,查询速度慢
LinkedList 查询速度慢,插入删除慢
查找方面 LinkedList 要移动指针,查询慢
增删方面 ArrayList Vector 要重排数据,所以增删慢
4. 数据结构区别
ArrayList Vector 是实现动态数组的数据结构
Vector 是链表的数据结构
补充知识点:
ArrayList 初始容量是10 超过以后会进行扩容
扩容公式: (旧容量*3)/2+1