- Vector底层同ArrarList一样,也是一个名叫 elementData 的数组
this.elementData = new Object[var1];
- 当使用无参构造器去构造Vector时,他会调用有参构造器,并赋初始容量为10大小。
public Vector() {
this(10);
}
- 后续扩容时,每次扩大的容量为原有容量的两倍
int var2 = this.elementData.length;
int var3 = var2 + (this.capacityIncrement > 0 ? this.capacityIncrement : var2);
- Vector是线程安全的,ArrayList是线程不安全的,这是他们最大的区别之一,原因是Vector集合的方法上都加了synchronized关键字
public synchronized boolean add(E var1) {
++this.modCount;
this.ensureCapacityHelper(this.elementCount + 1);
this.elementData[this.elementCount++] = var1;
return true;
}