Встречается на собеседованиях • сегодня
Что будет происходить с массивом в ArrayList при расширении
При добавлении элементов в ArrayList, когда текущий размер достигает capacity, происходит расширение массива:
1. Создается новый массив размером примерно в 1.5 раза больше старого (newCapacity = oldCapacity + (oldCapacity >> 1))
2. Все элементы копируются из старого массива в новый
3. Старый массив становится доступным для сборки мусора
Пример:
```java
ArrayList list = new ArrayList<>(2); // capacity=2
list.add(1); // [1]
list.add(2); // [1,2]
list.add(3); // Происходит расширение до capacity=3 (2 + 2/2)
// Новый массив: [1,2,3]
```
Важно: расширение - дорогая операция O(n), поэтому лучше задавать начальную capacity, если известно примерное количество элементов.

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