为什么 Deque delcare on 方法具有与其扩展的 Queue 接口完全相同的功能?

Why Deque delcare on method with exactly the same functionality as the Queue interface which it extends?

我不明白为什么Deque接口扩展了queue接口,但Deque接口重复了Queue方法。例如: 1. 为什么 Queue 接口在 getFirst 方法上声明而不是“满足”做同样事情的“元素”(并且是从 Queue 接口继承的)。如果我们查看 LinkedList class(它实现了 Deque 接口),元素方法实现除了调用“getFirst”方法之外什么都不做。为什么 Deque 在 getFirst 方法上声明? 2.method peek(继承自 Queue 接口)与 peekFirst 方法具有完全相同的实现(似乎是复制粘贴)? 为什么 Deque 在 peek 方法上声明? 我可以找到另一个例子,但我认为我的情况很清楚,但我认为足够了

A Deque 做与 Queue 相同的事情,并且还有其他方法从另一端访问 Deque 的元素。因此 Double Ended Queue。因此,Deque 接口只是扩展了 Queue 接口,并利用这些方法来方便地将其用作 Queue。

因此,如果您有一个双端队列并尝试执行 add(),它会像 addFirst() 一样工作。但是 Queue 不支持 addFirst()。所以,imo,这是为了方便。 API 还告诉您哪些方法是等效的。他们就是不告诉你原因。

查看此以了解更多信息。 Double Ended Queue