重点构造方法,有动扩容
(1)JDK1.6的构造方法
JDK1.8的构造方法
/**
* 初始化没有指定list大小,第一次插入的时候确定list容量的大小
*/
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {
};
/**
* ArrayList with elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA
*/
transient Object[] elementData;
/**
* The size of the ArrayList (the number of elements it contains).
*
* @serial
*/
private int size;
/**
* Constructs an empty list with the specified initial capacity.
*
* @param initialCapacity the initial capacity of the list
* @throws IllegalArgumentException if the specified initial capacity
* is negative
*/
public ArrayList(int initialCapacity) {
if (initialCapacity > 0) {
this.elementData = new Object[initialCapacity];
} else if (initialCapacity == 0)