2 года назад
Java 854. Сколько необходимо дополнительной памяти при вызове ArrayList.add()?
При вызове метода add() у ArrayList может происходить расширение емкости (capacity expansion) внутреннего массива, если текущий размер массива не хватает для добавления нового элемента. В этом случае создается новый массив большего размера и все существующие элементы копируются в него. Как правило, емкость нового массива увеличивается в 1,5-2 раза от текущей емкости. Таким образом, при каждом расширении емкости ArrayList выделяется дополнительная память на размер текущего массива. Также ArrayList может занимать некоторое количество дополнительной памяти для своих внутренних нужд...