/** * 传入初始容量初始化 * 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) { // 初始化容量大于 0 的话,就重新 new 一个数组 this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { // 初始化容量等于 0 的话,初始化为空数组 EMPTY_ELEMENTDATA this.elementData = EMPTY_ELEMENTDATA; } else { // 初始化容量小于 0 的话就抛出异常 throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); } }