6.1 Vector的基本介绍
Vector_.java
package com.xjz.list_;
import java.util.Vector;
@SuppressWarnings({"all"})
public class Vector_ {
public static void main(String[] args) {
//无参构造器
//Vector vector = new Vector();
//有参数的构造
Vector vector = new Vector(8);
for (int i = 0; i < 10; i++) {
vector.add(i);
}
vector.add(100);
System.out.println("vector=" + vector);
//解读源码
//1. new vector() 底层
/*
public Vector() {
this(10);
}
// 补充:如果是 Vector vector = new Vector(8);
走的方法 :
public Vector(int initialCapacity) {
this(initialCapacity, 0);
}
2. vector.add(i);
2.1 //下面这个方法就是添加数据到Vector集合
public synchronized boolean add(E e) {
modCount++;
add(e, elementData, elementCount);
return true;
}
2.2 //确定是否需要扩容
private void add(E e, Object[] elementData, int s) {
if (s == elementData.length)
elementData = grow();
elementData[s] = e;
elementCount = s + 1;
}
2.3 //如果 需要的数组大小 不够用,就扩容,扩容的算法
//newCapacity = oldCapacity + ((capacityIncrement > 0) ?
// capacityIncrement : oldCapacity);
//就是扩容两倍.
*/
}
}