每天一个类之java.util.Vector_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 每天一个类之java.util.Vector

每天一个类之java.util.Vector

 2018/2/24 12:14:44  waxuanxuan  程序员俱乐部  我要评论(0)
  • 摘要:首先,java.util.ArrayList大家众所周知,是一种数组集合,它的特点是有序、可重复、查询快、线程不安全。虽然优点很多,但是往往在多线程的场景中,其使用方法就要多考虑了,该加锁时就需要毫不犹豫的加上锁。然而,除了ArrayList外,还有个集合类与其很像,那就是java.util.Vector。以下来说说他们的共同点与不同点。相同点都是数组结构;都继承了AbstractList,实现了List<E>,RandomAccess,Cloneable,java.io
  • 标签:Java 一个 CTO

? ? ? 首先,java.util.ArrayList大家众所周知,是一种数组集合,它的特点是有序、可重复、查询快、线程不安全。虽然优点很多,但是往往在多线程的场景中,其使用方法就要多考虑了,该加锁时就需要毫不犹豫的加上锁。

? ? ? 然而,除了ArrayList外,还有个集合类与其很像,那就是java.util.Vector。以下来说说他们的共同点与不同点。

?

? 相同点

  • 都是数组结构;
  • 都继承了AbstractList,实现了List<E>, RandomAccess, Cloneable, java.io.Serializable。

? 不同点

  • ArrayList为线程不安全,Vector为线程安全。所以Vector的效率要比ArrayList低很多;
  • ArrayList和Vector都采用线性连续存储空间(数组),当存储空间不足的时候,ArrayList默认增加为原来的50%,Vector默认增加为原来的一倍;
  • Vector可以设置capacityIncrement,而ArrayList不可以,从字面理解就是capacity容量,Increment增加,容量增长的参数。

?

发表评论
用户名: 匿名