ArrayList、LinkedList、Vector

ArrayList和Vector都是用数组的方式来存放数据,她俩都允许直接用序号来索引元素,所以索引快,但插入慢。(因为插入时要涉及到元素移动,耗内存)。

几个的区别:

1.存储原理、同步:

Vector是同步的,即可以多个线程对一个程序进行同步访问(它会用锁,安全处理),所以这个类中的方法保证了Vector中的对象是线程安全的。

而ArrayList、LinkedList是异步的。

 

2.数据增长:

ArrayList和Vector,向内部增加数据时,如果增加的数目超出了当前的长度,会自动扩展内部数组的长度,Vector缺省情况下自动增长原来数组的一倍,而ArrayList是50%,故当数据多时,应该用Vector,少时用ArrayList.

 

 

总结:Vector同步、线程安全,速度慢,ArrayList、LinkedList异步,非线程安全,速度快。ArrayList和Vector使用数组方式,可以用下标定位索引,故索引快,插入慢,而LinkedList用双向链表实现存储,故索引慢,而插入快。索引多时,用ArrayList和Vector,而索引的数据多时,应该用Vector,少时用ArrayList;插入(添加、删除)多时,用LinkedList,速度快。线程安全时用Vector

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值