我在Core
Java I书中阅读了下面的代码段.
Allocating an array list as
new ArrayList (100) // capacity is 100
is not the same as allocating a new array as
new Employee[100] // size is 100
There is an important distinction between the capacity of an array list and the size of an
array. If you allocate an array with 100 entries, then the array has 100 slots, ready for use.
An array list with a capacity of 100 elements has the potential of holding 100 elements (and,
in fact, more than 100, at the cost of additional reallocations); but at the beginning, even
after its initial construction, an array list holds no elements at all.
当我看到源代码数组列表时,构造函数创建一个给定容量的Object数组,它可以容纳给定容量的元素(下面是代码段).
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = new Object[initialCapacity];
}
我无法弄清楚作者在上述文本中提到的实际差异.