Встречается на собеседованиях • сегодня

Как ArrayList расширяется динамически

ArrayList использует внутренний массив для хранения элементов. При добавлении элементов проверяется текущая емкость. Если места недостаточно, происходит увеличение массива: 1. Создается новый массив большего размера (обычно в 1.5 раза) 2. Элементы копируются из старого массива в новый 3. Старый массив удаляется сборщиком мусора Пример увеличения: ```java ArrayList list = new ArrayList<>(2); // начальная емкость 2 list.add(1); list.add(2); list.add(3); // здесь происходит увеличение массива ``` Размер увеличивается по формуле: `newCapacity = oldCapacity + (oldCapacity >> 1)` (побитовый сдвиг вправо на 1 эквивалентен делению на 2). По умолчанию начальная емкость 10.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы