Встречается на собеседованиях • сегодня
Как 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.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы