通达信接口-Java集合框架

List接口方法

定义说明publicclassVectorextendsAbstractListimplementsList,RandomAccess,Cloneable,SerializableVector底层也是一个对象数组,protectedObject[]elementData;Vector是线程同步的,即线程安全,Vector类的操作方法带有synchronized在开发中,需要线程同步安全时,考虑使用Vector。

Collection接口和常用方法

List实现类–Vector

源码

public class Demo10_Vector { public static void main(String[] args) { //无参构造器 Vector vector = new Vector(); Vector vector1 = new Vector(10); //1. new Vector()底层 /* 无参构造: public Vector() { this(10); } 有参构造: public Vector(int initialCapacity) { this(initialCapacity, 0); } */ for (int i = 0; i < 10; i++) { vector.add(i); } //2. vector.add() /* 2.1 add方法添加数据到vector集合 public synchronized boolean add(E e) { modCount++; ensureCapacityHelper(elementCount + 1); elementData[elementCount++] = e; return true; } 2.2 确定是否需要扩容,判断条件: if (minCapacity - elementData.length > 0) private void ensureCapacityHelper(int minCapacity) { // overflow-conscious code if (minCapacity - elementData.length > 0) grow(minCapacity); } */ vector.add(100); //3.需要扩容的vector 两倍扩容 // capacityIncrement:指定扩容大小,默认为0 //扩容算法:int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity); /* private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity); if (newCapacity - minCapacity < 0) newCapacity = minCapacity; if (newCapacity - MAX_ARRAY_SIZE > 0) newCapacity = hugeCapacity(minCapacity); elementData = Arrays.copyOf(elementData, newCapacity); } */ } }

双列集合 


版权声明:本文为peizitoutiao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。