码迷,mamicode.com
首页 > 其他好文 > 详细

ArrayList VS Vector

时间:2015-04-24 06:41:18      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

这种问题先看图
  技术分享
 
共同点:
  1. 存储在这两个集合中的元素的位置是有序的,相当于一种动态的数组,可以按位置取出某个元素
  2. 实现了List接口
  3. 集合中的元素允许重复
  4. 可以设置初始的空间大小
区别:
  1. 线程安全
  2. 数据增长
如果只有一个线程会访问到集合,那最好是使用ArrayList,因为它不考虑线程安全,效率会高些
如果有多个线程会访问到集合,那最好是使用Vector,因为不需要我们自己再去考虑和编写线程安全的代码
 
(备注:对于Vector&ArrayList、Hashtable&HashMap,要记住线程安全问题,记住Vector与Hashtable是旧的,是java一诞生就提供的,它们是线程安全的,ArrayList与HashMap是java2时才提供的,它们是线程不安全的。所以,我们讲课时先讲老的。)
 
Vector默认增长为原来两倍,还可以设置增长的空间大小
ArrayList是增长为原来的1.5倍,并且没有提供设置增长空间的方法
 
也就是说:
vector,线程安全,无忧无虑,大手大脚,自由自在。
arraylist,效率第一,小心翼翼,步步为营,安分守己。

ArrayList VS Vector

标签:

原文地址:http://www.cnblogs.com/dolphin007/p/4452294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!