Vector ArrayList LinkedList区别 深度分析 自我总结

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值