Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Deque delcare on方法具有与其扩展的队列接口完全相同的功能?_Java_Collections_Interface_Queue_Deque - Fatal编程技术网

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

Java 为什么Deque delcare on方法具有与其扩展的队列接口完全相同的功能?,java,collections,interface,queue,deque,Java,Collections,Interface,Queue,Deque,我不明白为什么尽管Deque接口扩展了队列接口,但Deque接口复制了队列方法。例如: 1.为什么队列接口在getFirst方法上声明,而对“元素”不“满意”,因为“元素”做同样的事情(并且是从队列接口继承的)。若我们看看LinkedList类(它实现了Deque接口),元素方法实现除了调用“getFirst”方法之外什么都不做。为什么Deque在getFirst方法上声明? 2.peek方法(从队列接口继承)与peekFirst方法具有完全相同的实现(看起来像复制粘贴)? 为什么Deque在p

我不明白为什么尽管Deque接口扩展了队列接口,但Deque接口复制了队列方法。例如: 1.为什么队列接口在getFirst方法上声明,而对“元素”不“满意”,因为“元素”做同样的事情(并且是从队列接口继承的)。若我们看看LinkedList类(它实现了Deque接口),元素方法实现除了调用“getFirst”方法之外什么都不做。为什么Deque在getFirst方法上声明? 2.peek方法(从队列接口继承)与peekFirst方法具有完全相同的实现(看起来像复制粘贴)? 为什么Deque在peek方法上声明?
我可以找到另一个例子,但我认为我的情况很清楚,但我认为这足够了A
Deque
队列
做同样的事情,并且还有其他方法从另一端访问
Deque
的元素。因此,
双端队列
。因此,Deque接口只是扩展了队列接口,并利用这些方法方便地将其用作队列

因此,如果您有一个Deque,并尝试执行
add()
,它的工作方式类似于
addFirst()
。但是
Queue
不支持
addFirst()
。因此,在国际海事组织,这是为了方便。API还告诉您哪些方法是等效的。他们只是不告诉你为什么


查看此项了解更多信息

对不起,我很感激你的回答,但我会加倍努力的。我找不到任何合理的解释来解释为什么Deque不能“满足”队列方法,它声明了其他方法,这些方法被定义为执行与它继承的方法相同的功能。也许原因与“遗产”问题有关。我真的很想知道谁是给我负1的“天才”。在我发布我的问题之前,我阅读了JavaAPI中的所有信息,并且也在Stackoverflow上寻找类似的问题。我不认为这是遗留问题。这可能只是为了方便或保持一致。对于
Deque
,有一个
addLast
是有意义的。因此,有人可能会期望一个
addFirst