A Deque
делает то же самое, что и Queue
, а также имеет дополнительные методы для доступа к элементам Deque
с противоположного конца. Отсюда Double Ended Queue
. Таким образом, интерфейс Deque просто расширяет интерфейс Queue и использует эти методы для облегчения использования его в качестве Queue.
Так что, если у вас есть Deque и вы пытаетесь сделать add()
, он будет работать как addFirst()
. Но addFirst()
не поддерживается Queue
. Итак, IMO, это для удобства. API также сообщает, какие методы эквивалентны. Они просто не говорят вам, почему.
Проверьте это для получения дополнительной информации. Двусторонняя очередь