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

В какой структуре данных удаление элемента из середины произойдет быстрее: ArrayList или LinkedList

В `LinkedList` удаление из середины будет быстрее, чем в `ArrayList`, если известен точный узел для удаления. **Почему?** - `ArrayList`: при удалении элемента из середины (`O(n)`) нужно сдвигать все последующие элементы. - `LinkedList`: удаление по узлу (`O(1)`), но поиск узла (`O(n)`). Если узел уже известен (например, через `ListIterator`), удаление будет быстрым. **Пример:** ```java List arrayList = new ArrayList<>(List.of(1, 2, 3, 4)); List linkedList = new LinkedList<>(List.of(1, 2, 3, 4)); // Удаление из середины ArrayList (медленнее) arrayList.remove(2); // Сдвигает элементы после индекса 2 // Удаление из середины LinkedList (быстрее, если итератор уже на позиции) ListIterator it = linkedList.listIterator(2); it.next(); // Перемещаемся к элементу 3 it.remove(); // Удаление O(1) ``` **Итог:** `LinkedList` выигрывает, если работа ведется через итератор. В остальных случаях разница незначительна из-за поиска узла.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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