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。
相关文章推荐
- Unicode(UTF-8, UTF-16)令人混淆的概念
- Url重定向
- 电话轰炸器
- SQL Server中如何获取当前年,月,日,时,分,秒
- Java 泛型
- 文本编辑器之editplus
- hdu 2094
- 群聊天记录,关于优化算法
- Linq打印
- zoj 3882 博弈 *
- Android Context的startService方法如何使用?
- POJ 2777-Count Color
- 04常量和变量
- xamarin.ios Parse 模糊查询 查询
- Android 用户表单融合各类简易控件以及融入FloatingActionButton以及butterknife
- hdu1233还是畅通工程 最小生成树(prim或kruskal)
- php利用api搜索下载it-ebooks.info上图书
- 微信打完包登录分享失败原因是由于打包keystore不对
- 初试阿里云服务器
- android studio 快捷键