2014-10-13 2 views
0

В Oracle tutorial about Collection interfaces иерархия интерфейса предполагает, что Deque непосредственно расширяет Collection.Интерфейс Deque в иерархии коллекций

enter image description here

Но Deque расширяет Queue (там, кажется, не быть изменения в этих отношениях через Java-релизы).

Любая причина, по которой это не отражается в изображении иерархии (например, показано, что SortedSet распространяется на Set)?

+1

Никто здесь не узнает об этом. Только дизайнеры из Oracle/Sun могут это знать, поэтому это в первую очередь основано на мнениях для StackOverflow. –

ответ

3

Взятые из The Deque Interface - The Java™ Tutorials:

Интерфейс Deque является богаче абстрактный тип данных, чем как стек и очередь потому, что он реализует как стеки и очереди одновременно.


Вы правы, Deque действительно расширяет Queue в Java ...
Но даже несмотря на это действительное отношение существует, я считаю, что точка опуская ее, что эта схема является то, что Концептуально Deque можно рассматривать не только как специализацию Queue.

Deque предоставляет вам как лифо принципа Stackипервой в первом вышел один о том, что Queue предложений, и представляющего только строгая фактическая иерархия из этих классов и интерфейсов может вводить в заблуждение.
Например, LinkedList реализует Deque ... и все же, вы, вероятно, никогда не поместите его под Deque на схему, объясняющую различные типы Collections и отношения между ними. :)

Смежные вопросы