Gymterview
junior

Сравните интерфейсы Queue и Deque

Queue — интерфейс очереди с дисциплиной FIFO, предоставляющий методы для работы с одним концом (добавление в хвост, извлечение из головы). Deque (Double Ended Queue) расширяет Queue и поддерживает операции с обоих концов.

Операция Queue Deque
Добавить offer() / add() offerFirst(), offerLast()
Извлечь poll() / remove() pollFirst(), pollLast()
Посмотреть peek() / element() peekFirst(), peekLast()
Режим работы FIFO FIFO или LIFO
Использование как стек Нет push(), pop()

Реализации Queue и Deque не переопределяют equals() и hashCode() — используются стандартные методы Object, основанные на сравнении ссылок. Основная реализация Deque — ArrayDeque, которая рекомендуется и как очередь, и как стек.

На собеседовании: скажите, что Deque расширяет Queue и добавляет операции с обоих концов. Упомяните, что ArrayDeque — универсальная реализация и для очереди, и для стека.