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



我不明白为什么虽然Deque接口扩展了队列接口,但Deque接口复制了Queue方法。例如: 1. 为什么队列接口在 getFirst 方法上声明,而不是"满足"做同样事情的"元素"(并且是从队列接口继承的(。如果我们查看 LinkedList 类(它实现了 Deque 接口(,元素方法实现除了调用 "getFirst" 方法之外什么都不做。为什么Deque在getFirst方法上声明? 2.方法peek(继承自队列接口(,其实现与peekFirst方法完全相同(看起来像复制粘贴(? 为什么德克宣布偷看方法? 我可以找到另一个例子,但我认为我的情况很清楚,但我认为这已经足够了

Deque执行与Queue相同的操作,并且还具有从另一端访问Deque元素的其他方法。 因此Double Ended Queue. 因此,Deque 接口只是扩展了队列接口,并利用这些方法来方便将其用作队列。

因此,如果您有一个Deque并尝试做add(),它将像addFirst()一样工作。 但是addFirst()不受Queue的支持。 所以,imo,这是为了方便。 API 还会告诉您哪些方法是等效的。 他们只是不告诉你为什么。

查看此内容以获取更多信息。双端队列

最新更新