Vector中的操作是线程安全的。
public Vector(int initialCapacity, int capacityIncrement) { super(); if (initialCapacity < 0) 初始化Vector时都的容量 throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); this.elementData = new Object[initialCapacity]; this.capacityIncrement = capacityIncrement; 当Vector容量不够时,自动增长的容量,若是为0或小于0时,就自动增长1倍 }
public synchronized void trimToSize() { 可以减小数组的存储容量 modCount++; int oldCapacity = elementData.length; if (elementCount < oldCapacity) { 如果数组中真实的元素的长度小于数组的大小 elementData = Arrays.copyOf(elementData, elementCount); } }