Вопрос проверяет знание иерархии коллекций и понимание ролей интерфейсов Java Collections Framework.
LinkedList реализует интерфейсы List, Deque и Queue.
Это позволяет использовать его как список, очередь и двустороннюю очередь.
Также он наследует интерфейсы Collection и Iterable.
Поддерживается добавление и удаление элементов с обоих концов.
Поведение зависит от того, через какой интерфейс используется коллекция.
Перед тем как перечислять интерфейсы, важно понимать назначение LinkedList.
LinkedList — это двусвязный список, реализующий несколько контрактов коллекций.
LinkedList напрямую реализует:
List — упорядоченная коллекция с доступом по индексу
Deque — двусторонняя очередь
Queue — очередь с FIFO-семантикой
Через наследование также реализуются:
Collection
Iterable
Один и тот же объект можно использовать по-разному:
List<String> list = new LinkedList<>();
Queue<String> queue = new LinkedList<>();
Deque<String> deque = new LinkedList<>();
В зависимости от интерфейса доступны разные операции:
List → get(index), add(index, value)
Queue → offer, poll, peek
Deque → addFirst, addLast
Быстрые вставки и удаления в начале и конце
Медленный доступ по индексу
Больше потребление памяти из-за хранения ссылок
LinkedList — универсальная структура, но выбирать её стоит осознанно, исходя из сценария использования.