答案:0次
解释:
创建对象时将会调用ArryList类
中的有参构造方法,对应源代码如下:
public ArrayList(int initialCapacity) {
if (initialCapacity > 0) {
this.elementData = new Object[initialCapacity];
} else if (initialCapacity == 0) {
this.elementData = EMPTY_ELEMENTDATA;
} else {
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
}
}
由于initialCapacity
是20
,所以initialCapacity > 0,那就符合第一个if
的判断条件,因此执行this.elementData = new Object[initialCapacity]
,这意味着创建了一个容量为20
的数组,并且赋值给elementData属性
,所以不需要扩容