您的位置:首页 > 其它

Arraylist和Vector区别

2015-08-17 16:36 826 查看
List接口下一共实现了三个类:ArrayList,Vector,LinkedList。 Arraylist和LinkedList区别上文有提到,这里就不多说了。它们的区别一般主要用在遍历数据的插入顺序的时候。而ArrayList和Vector都是用数组实现的。Arraylist和Vector区别:1、Vector多线程是安全的,而ArrayList不是。Vector类中的方法很多有synchronized进行修饰,这样就导致了Vector在效率上无法与ArrayList相比;2、两个都是采用的线性连续空间存储元素,但是当空间不足的时候,两个类的增加方式是不同的。(很多网友说Vector增加原来空间的一倍,ArrayList增加原来空间的50%,其实也差不多是这个意思。)3、Vector可以设置增长因子,而ArrayList不可以。4、ArrayList有三个构造方法,Vector有四个构造方法。
5、Vector比Arraylist多一个构造方法,public Vector(int initialCapacity,int capacityIncrement)这个构造方法,capacityIncrement就是容量增长,前面所说的增长因子,ArrayList中是没有的。
6、Vector是同步的,ArrayList非同步,所以效率上ArrayList要比Vector高一些。
没有一个ArrayList的方法具有同步执行的能力;相反,Vector的大多数方法具有同步能力,或直接或间接。
所以,Vector线程安全,ArrayList线程不安全。因此ArrayList要比Vector快速。
应用场景:
在不需要同步时应该使用ArrayList,反之使用Vector。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: