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

Что будет происходить с массивом в 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, если известно примерное количество элементов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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