ps:现在Vector用的比较少了,只作为了解
一、类的声明
主要看的是实现了List接口
public class Vector<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable{}
二、构造方法
构造一个空Vector,初始大小为10,其标准容量增量为零。
public Vector() {
this(10);
}
构造一个具有指定初始容量的空Vector,其容量增量为零。
public Vector(int initialCapacity) {
this(initialCapacity, 0);
}
构造一个具有指定初始容量和容量增量的空Vector。
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对象时,就可以把参数中的内容添加到对象中
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
1.添加
Vector版本
ArrayList版本
详情:传送门: https://segmentfault.com/a/11...
几乎一样,就是Vector里面多了个synchronized
2.删除
Vector版本
先计算传入对象的下标,然后进行删除,与ArrayList实现基本相同,就是多了synchronized
ArrayList版本
详情:传送门: https://segmentfault.com/a/11...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。