1.线程安全
方法中使用synchronized 来保证线程安全
2.默认容器大小--通过构造器直接初始化大小
//无参构造器 默认大小是10
public Vector() {
this(10);
}
//指定初始化容器大小
public Vector(int initialCapacity) {
this(initialCapacity, 0);
}
//初始化容器大小,以及每次扩容的大小
public Vector(int initialCapacity, int capacityIncrement) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = new Object[initialCapacity];
this.capacityIncrement = capacityIncrement;
}
3.扩容策略
int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity);
//如果在构造器中传入的capacityIncrement<=0 则新的容器是
newCapacity =oldCapacity +oldCapacity
//如果在构造器中传入的capacityIncrement》0 则新的容器是
newCapacity =oldCapacity +capacityIncrement
4 add方法简介
public synchronized boolean add(E e) {
modCount++;
ensureCapacityHelper(elementCount + 1);//1.确保容器大小
elementData[elementCount++] = e;//2.赋值
return true;
}
//与ArrayList 的add方法 大致相同,由于Vector提供了线程安全机制,所以加上了synchronized