在有关接口的 Oracle教程Collection
中,接口层次结构建议Deque
直接扩展Collection
。
但是Deque
extends Queue
(跨Java版本的这种关系似乎没有变化)。
为什么这没有反映在层次结构图中的任何原因(例如,SortedSet
显示相同的方式来扩展Set
)?
在有关接口的 Oracle教程Collection
中,接口层次结构建议Deque
直接扩展Collection
。
但是Deque
extends Queue
(跨Java版本的这种关系似乎没有变化)。
为什么这没有反映在层次结构图中的任何原因(例如,SortedSet
显示相同的方式来扩展Set
)?
Deque 接口是比 Stack 和 Queue 都更丰富的抽象数据类型,因为它同时实现了堆栈和队列。
你是对的,确实在 Java 中Deque
扩展了......
但即使存在这种实际关系,我认为在这个图中省略它的意义在于,从概念上讲, a不仅可以看作是 a 的特化。Queue
Deque
Queue
ADeque
为您提供了 a 的后进先出原则和 aStack
提供的先进先出原则,并且仅表示这些类和接口的严格实际层次结构可能会产生误导。
例如,implements ...但是,您可能永远不会将它放在解释不同类型和它们之间关系的模式下。:)Queue
LinkedList
Deque
Deque
Collections