В Java интерфейс Deque расширяет интерфейс Queue, а не наоборот. Таким образом, все методы, определенные в интерфейсе Queue, также доступны и в Deque.
Это связано с тем, что Deque является более широкой структурой данных, которая может использоваться как стек или очередь, в то время как Queue ориентирована только на работу со структурой данных, работающей по принципу FIFO (First-In-First-Out).
Интерфейс Queue содержит базовый функционал для работы с очередью: добавление элемента, удаление элемента, получение, но не удаление, элемента из начала очереди. Интерфейс Deque содержит этот же базовый функционал, а также дополнительные методы для работы с двусторонней очередью: добавление в начало и конец списка, удаление из начала и конца списка, а также получение, но не удаление, элемента из начала и конца списка.
Таким образом, если вы хотите использовать какую-то специфическую функциональность, доступную только в Deque, то можно использовать этот интерфейс. Если же вам нужно только базовое управление очередью, то можно использовать интерфейс Queue.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov