Встречается на собеседованиях • сегодня
Почему коллекция 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);
```

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