Какой конкретный тип данных реализует структуру абстрактного типа данных в Java?

Поскольку очередь является структурой данных абстрактного типа данных, какая конкретная структура типа данных реализует ее? Я видел, что очередь — это интерфейс, поэтому не знал, как конкретный тип данных может реализовать структуру абстрактного типа данных.

Вы можете проверить, какие классы реализуют данный интерфейс, проверив javadoc интерфейса.

JustAnotherDeveloper 13.12.2020 19:30
ArrayDeque — один из таких.
Elliott Frisch 13.12.2020 19:32

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

Nowhere Man 13.12.2020 19:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
85
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Прочитайте Javadoc для Queue. Обратите внимание на седьмую строку сверху:

Все известные классы реализации:

Там вы найдете список реализаций, связанных с любой реализацией Java.

AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue, SynchronousQueue

Сторонние производители также предлагают реализации. Например, Google Guava имеет такие реализации, как EvictingQueue . А Apache Commons предлагает такие реализации, как CircularFifoQueue.

И вы можете сделать свою собственную реализацию, если это необходимо.

Разве приоритетная очередь не является структурой данных абстрактного типа данных? Не должен ли быть конкретный тип данных для реализации приоритетной очереди? @Бэзил Бурк

davidjorg 13.12.2020 19:54

Java поставляется в комплекте с приоритетной очередью , классом PriorityQueue. Этот класс находится в списке, который я разместил в своем ответе.

Basil Bourque 13.12.2020 19:57

Другие вопросы по теме