java.util.Vector

      首先,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增加,容量增长的参数。

猜你喜欢

转载自waxuanxuan.iteye.com/blog/2411460