В дни обучения C, когда я реализовал Queue
, я реализовал их поверх LinkedList
. По сути, у меня было два указателя (передний и задний) для операций Queue
поверх LinkedList
, или лучше один передний указатель поверх CircularLinkedList
.
Я изучаю Java Collections Framework
и наблюдаю, что дизайн полностью отделил интерфейсы List
и Queue
, и реализации разветвляются следующим образом -
Я думаю, AbstractQueue
должен был быть подклассом где-то внутри AbstractList
. Может быть, не внутри ArrayList
, потому что я не хочу произвольного доступа к элементам, но, возможно, внутри AbstractSequentialList
, хмм? (Я понимаю, я мог быть совершенно не прав здесь)