Почему Deque delcare on метод с той же функциональностью, что и интерфейс Queue, который он расширяет? - PullRequest
0 голосов
/ 16 октября 2019

Я не могу понять, почему, хотя интерфейс Deque расширяет интерфейс очереди, интерфейс Deque дублирует методы очереди. Например: 1. Почему интерфейс очереди объявляется в методе getFirst, а не «удовлетворяется» «элементом», который делает то же самое (и наследуется от интерфейса очереди). Если мы посмотрим на класс LinkedList (который реализует интерфейс Deque), реализация метода элемента ничего не делает, кроме вызова метода «getFirst». Почему Deque объявляет о методе getFirst? 2.method peek (унаследованный от интерфейса Queue), который имеет (похоже на копирование) ту же реализацию, что и метод peekFirst? Почему Deque объявляет метод peek? Я могу найти другой пример, но я думаю, что мой случай ясен, но я думаю, что этого достаточно

1 Ответ

0 голосов
/ 16 октября 2019

A Deque делает то же самое, что и Queue, а также имеет дополнительные методы для доступа к элементам Deque с противоположного конца. Отсюда Double Ended Queue. Таким образом, интерфейс Deque просто расширяет интерфейс Queue и использует эти методы для облегчения использования его в качестве Queue.

Так что, если у вас есть Deque и вы пытаетесь сделать add(), он будет работать как addFirst(). Но addFirst() не поддерживается Queue. Итак, IMO, это для удобства. API также сообщает, какие методы эквивалентны. Они просто не говорят вам, почему.

Проверьте это для получения дополнительной информации. Двусторонняя очередь

...