Встречается на собеседованиях • сегодня
В какой структуре данных удаление последнего элемента произойдет быстрее: ArrayList или LinkedList
В `LinkedList` удаление последнего элемента происходит быстрее, чем в `ArrayList`, если не известен индекс.
**ArrayList**:
- Удаление последнего элемента (`remove(lastIndex)`) — `O(1)`, так как не требует сдвига.
- Но если индекс неизвестен, поиск (`lastIndexOf()`) займет `O(n)`.
**LinkedList**:
- Удаление последнего элемента (`removeLast()`) — `O(1)`, если есть ссылка на хвост (как в `Java`).
- Даже без ссылки обход до конца — `O(n)`, но `LinkedList` хранит ссылку на хвост.
**Пример**:
```java
ArrayList arrayList = new ArrayList<>();
LinkedList linkedList = new LinkedList<>();
// Удаление последнего (лучше в LinkedList)
arrayList.remove(arrayList.size() - 1); // O(1)
linkedList.removeLast(); // O(1)
```
**Вывод**: `LinkedList` эффективнее, если часто удалять последний элемент.

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