在Oracle tutorial about Collection
interfaces中,界面层次结构表明Deque
直接扩展Collection
。
但是Deque
扩展了Queue
(Java版本中这种关系似乎没有变化)。
这种情况没有反映在层次结构图片中的任何原因(例如SortedSet
展示Set
的方式相同的方式?
答案 0 :(得分:3)
取自The Deque Interface - The Java™ Tutorials:
Deque接口是一种比Stack和更丰富的抽象数据类型 队列,因为它同时实现堆栈和队列。
你是对的,Deque
确实在Java中扩展Queue
...
但即使存在这种实际关系,我认为在这个图中省略它的意义在于,从概念上讲,Deque
不仅可以被视为Queue
的特化。
Deque
为您提供Stack
的后进先出原则和 in-first-out 一个Queue
提供的,并且仅表示这些类和接口的严格实际层次结构可能会产生误导。
例如,LinkedList
实现了Deque
...然而,您可能永远不会将它放在Deque
下的模式中,解释不同类型的Collections
以及它们之间的关系他们。 :)