为什么 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
我不明白为什么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