初探Vector

ps:现在Vector用的比较少了,只作为了解

一、类的声明

主要看的是实现了List接口

public class Vector
    extends AbstractList
    implements List, 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 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版本
初探Vector_第1张图片

ArrayList版本
详情:传送门: https://segmentfault.com/a/11...
初探Vector_第2张图片

几乎一样,就是Vector里面多了个synchronized

2.删除

Vector版本
先计算传入对象的下标,然后进行删除,与ArrayList实现基本相同,就是多了synchronized
初探Vector_第3张图片

ArrayList版本
详情:传送门: https://segmentfault.com/a/11...
初探Vector_第4张图片

你可能感兴趣的:(集合,vector,java)