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实现基本相同,就是多了synchronizedci
ArrayList版本
详情:传送门: https://segmentfault.com/a/11...