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

Почему коллекция ArrayList будет менее производительна при вставке большого количества элементов в конец

ArrayList использует массив под капотом. При добавлении элементов, если массив заполнен, создается новый массив большего размера (обычно в 1.5 раза), и все элементы копируются в него. Это приводит к дополнительным затратам времени и памяти при частых вставках. Пример: ```java ArrayList list = new ArrayList<>(); for (int i = 0; i < 1_000_000; i++) { list.add(i); // Может вызвать несколько переаллокаций массива } ``` Для частых вставок в конец лучше использовать LinkedList, где добавление всегда O(1), или заранее задать нужный capacity в ArrayList конструкторе: ```java ArrayList list = new ArrayList<>(1_000_000); ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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