主要区别就是ArrayList是非线程同步的,而Vector是线程同步的
AyyayList的构造函数有三个:
public ArrayList()
构造一个初始容量为 10 的空列表
public ArrayList(Collection<? extends E> c)
构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
public ArrayList(int initialCapacity)
构造一个具有指定初始容量的空列表。
Vector:
每个向量会试图通过维护 capacity
和 capacityIncrement
来优化存储管理。capacity
始终至少应与向量的大小相等;这个值通常比后者大些,因为随着将组件添加到向量中,其存储将按 capacityIncrement
的大小增加存储块。应用程序可以在插入大量组件前增加向量的容量;这样就减少了增加的重分配的量。 默认增长数量是容量的2倍,而ArrayList中固定为(oldCapacity * 3)/2 + 1,在Vector中可以通过构造函数改变重新分配的数量
public Vector()
构造一个空向量,使其内部数据数组的大小为 10
,其标准容量增量为零。
public Vector(Collection<? extends E> c)
构造一个包含指定 collection 中的元素的向量,这些元素按其 collection 的迭代器返回元素的顺序排列
public Vector(int initialCapacity, int capacityIncrement)
- 使用指定的初始容量和容量增量构造一个空的向量
-
public Vector(int initialCapacity)
- 使用指定的初始容量和等于零的容量增量构造一个空向量。
-
-