ps:如今Vector用的比較少了,只做爲了解java
主要看的是實現了List接口segmentfault
public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{}
構造一個空Vector,初始大小爲10,其標準容量增量爲零。dom
public Vector() { this(10); }
構造一個具備指定初始容量的空Vector,其容量增量爲零。this
public Vector(int initialCapacity) { this(initialCapacity, 0); }
構造一個具備指定初始容量和容量增量的空Vector。spa
public Vector(int initialCapacity, int capacityIncrement) { super(); if (initialCapacity < 0) throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); this.elementData = new Object[initialCapacity]; this.capacityIncrement = capacityIncrement; }
同理List的構造方法,參數爲Collection或其子類,這樣在建立Vector對象時,就能夠把參數中的內容添加到對象中code
public Vector(Collection<? extends E> c) { elementData = c.toArray(); elementCount = elementData.length; // c.toArray might (incorrectly) not return Object[] (see 6260652) if (elementData.getClass() != Object[].class) elementData = Arrays.copyOf(elementData, elementCount, Object[].class); }
Vector版本
對象
ArrayList版本
詳情:傳送門: https://segmentfault.com/a/11...
接口
幾乎同樣,就是Vector裏面多了個synchronizedip
Vector版本
先計算傳入對象的下標,而後進行刪除,與ArrayList實現基本相同,就是多了synchronized
ci
ArrayList版本
詳情:傳送門: https://segmentfault.com/a/11...