Я прочитал ниже фрагмент в книге Core Java I.
Выделение списка массивов как новый ArrayList < 'Employee > (100)//емкость 100
не совпадает с распределением нового массива как новый сотрудник [100]//размер 100
Существует важное различие между емкостью списка массивов и размером массив. Если вы выделяете массив со 100 записями, то массив имеет 100 слотов, готовых к использованию. Список массивов вместимостью 100 элементов может содержать 100 элементов (и, на самом деле, более 100, за счет дополнительных перераспределений); но вначале даже после его первоначальной конструкции список массивов вообще не содержит элементов.
Когда я увидел список массива исходного кода, конструктор создает массив Object заданной емкости, который готов удерживать элементы заданной емкости (ниже - фрагмент кода).
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = new Object[initialCapacity];
}
Я не могу понять фактическую разницу, о которой автор упомянул в приведенном выше тексте.