Повышение производительности достигается в тех случаях, когда вы собираетесь добавить несколько элементов в список и знать, сколько вы собираетесь добавить.Вызывая ensureCapacity(int)
, вы вызываете изменение размера базового массива один раз, а не много раз.
Обратите внимание, однако, что в действительности вам редко нужно вызывать этот метод;Как правило, вы либо создаете экземпляр ArrayList
с известной емкостью, либо в случаях, когда размер списка неизвестен, вам, вероятно, следует рассмотреть возможность использования LinkedList
.
Также обратите внимание, что стратегия изменения размера ArrayList
обычно реализуется таким образом, что копии массива являются редкой операцией (например, емкость может увеличиваться на 50% при каждом заполнении массива).Другими словами, даже если вы не позвоните заранее ensureCapacity
, вы вряд ли заметите какое-либо замедление в вашем коде.