Core - 2

Сколько необходимо дополнительной памяти при вызове ArrayList.add()?


При вызове метода `ArrayList.add()` в Java не требуется дополнительной памяти, если внутренний массив, используемый `ArrayList` , имеет достаточную емкость для добавления нового элемента. Однако, если внутренний массив `ArrayList` заполнен и нет достаточного места для добавления нового элемента, будет создан новый массив большего размера в 1,5 раза превышающим существующий (это верно для JDK выше 1.7, в более ранних версиях размер увеличения иной) и существующие элементы будут скопированы в новый массив. В этом случае будет затрачено дополнительное место для создания нового массива и копирования элементов. Таким образом, дополнительная память, требуемая при вызове `ArrayList.add()` , зависит от текущей емкости `ArrayList` и размера элемента, который вы добавляете. Если внутренний массив имеет достаточную емкость, то дополнительная память не требуется. В противном случае, будет выделена дополнительная память для создания нового массива и копирования элементов.


Копировать ссылку