Встречается на собеседованиях • сегодня
Где быстрее выполнится операция вставки элемента в середину: в ArrayList или LinkedList
В `LinkedList` вставка в середину будет быстрее, чем в `ArrayList`, так как `LinkedList` реализован на основе двусвязного списка. Вставка требует лишь обновления ссылок соседних элементов (O(1) при известной позиции, но O(n) на поиск позиции).
`ArrayList` же использует массив, и вставка в середину требует сдвига всех последующих элементов (O(n)), плюс возможное расширение массива.
**Пример:**
```java
List arrayList = new ArrayList<>(Arrays.asList(1, 2, 4, 5));
arrayList.add(2, 3); // Сдвигает элементы 4 и 5
List linkedList = new LinkedList<>(Arrays.asList(1, 2, 4, 5));
linkedList.add(2, 3); // Меняет ссылки у 2 и 4
```
Если позиция уже известна (например, через `listIterator`), `LinkedList` будет эффективнее.

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