Поскольку очередь является структурой данных абстрактного типа данных, какая конкретная структура типа данных реализует ее? Я видел, что очередь — это интерфейс, поэтому не знал, как конкретный тип данных может реализовать структуру абстрактного типа данных.
Google: javadoc Queue : docs.oracle.com/javase/8/docs/api/java/util/Queue.html Все известные классы реализации: AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque , LinkedBlockingQueue, LinkedList, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue, SynchronousQueue
Прочитайте Javadoc для Queue. Обратите внимание на седьмую строку сверху:
Все известные классы реализации:
Там вы найдете список реализаций, связанных с любой реализацией Java.
AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue, SynchronousQueue
Сторонние производители также предлагают реализации. Например, Google Guava имеет такие реализации, как EvictingQueue . А Apache Commons предлагает такие реализации, как CircularFifoQueue.
И вы можете сделать свою собственную реализацию, если это необходимо.
Разве приоритетная очередь не является структурой данных абстрактного типа данных? Не должен ли быть конкретный тип данных для реализации приоритетной очереди? @Бэзил Бурк
Java поставляется в комплекте с приоритетной очередью , классом PriorityQueue. Этот класс находится в списке, который я разместил в своем ответе.
Вы можете проверить, какие классы реализуют данный интерфейс, проверив javadoc интерфейса.