Vector
基本属性
/**
* 存储vector的缓存区。vector的容量是是个缓存区(数组)的长度
*/
protected Object[] elementData;
/**
* Vector 所包含实际元素的数量
*/
protected int elementCount;
/**
* vector自增量。
* 如果容量增量小于或等于零,则每次需要增长时,向量的容量都会翻倍。
*/
protected int capacityIncrement;
构造器
指定初始容量和自增量构造器
/**
* 指定初始容量和自增量
*
* @param initialCapacity 初始容量
* @param capacityIncrement 自增量
*/
public Vector(int initialCapacity, int capacityIncrement) {
//1.父类AbstractList的构造器
super();
//2.判断参数合法性
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
//3.初始化一个指定容量的数组,并赋值给elementData
this.elementData = new Object[initialCapacity];
//4.把传入的自增量赋值给类成员变量capacityIncrement
this.capacityIncrement = capacityIncrement;
}
指定初始容量构造器
/**
* 指定初始容量
*/
public Vector(int initialCapacity) {
//调用指定初始容量和自增量构造器,把自增量设置为0
this(initialCapacity, 0);
}
无参构造器
/**
* 构造一个容量为10的列表
*/
public Vector() {
//调用指定初始容量构造器,指定初始值为10
this(10);
}
指定集合元素的列表的构造器
/**
* Constructs a vector containing the elements of the specified
* collection, in the order they are returned by the collection's
* iterator.
*
* @param c the collection whose elements are to be placed into this
* vector
* @throws NullPointerException if the specified collection is null
* @since 1.2
*/
public Vector(Collection<? extends E> c) {
Object[] a = c.toArray();
elementCount = a.length;
if (c.getClass() == ArrayList.class) {
elementData = a;
} else {
elementData = Arrays.copyOf(a, elementCount, Object[].class);
}
}
------------------------------------------------无敌分割线------------------------------------------------------
其他方法参考ArrayList…
vect = synchronized(ArrayList),简单理解吧