Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java PriorityQueue

Приоритетная очередь Java

В этом руководстве мы узнаем о классе PriorityQueue платформы коллекций Java с помощью примеров.

00 Класс предоставляет функциональные возможности структуры данных кучи.

Он реализует интерфейс Queue.

В отличие от обычных очередей, элементы приоритетной очереди извлекаются в отсортированном порядке.

Предположим, мы хотим получить элементы в порядке возрастания. В этом случае глава приоритетной очереди будет наименьшим элементом. Как только этот элемент будет получен, следующий наименьший элемент будет в начале очереди.

Важно отметить, что элементы приоритетной очереди не могут быть отсортированы. Однако элементы всегда извлекаются в отсортированном порядке.

<час>

Создание PriorityQueue

Чтобы создать приоритетную очередь, мы должны импортировать 14 упаковка. Как только мы импортируем пакет, вот как мы можем создать приоритетную очередь в Java.

01

Здесь мы создали приоритетную очередь без каких-либо аргументов. В этом случае голова приоритетной очереди является наименьшим элементом очереди. И элементы удаляются из очереди в порядке возрастания.

Однако мы можем настроить порядок элементов с помощью 27 интерфейс. Мы узнаем об этом позже в этом руководстве.

<час>

Методы PriorityQueue

30 класс обеспечивает реализацию всех методов, представленных в 46 интерфейс.

<час>

Вставить элементы в PriorityQueue

Например,

10 

Вывод

28

Здесь мы создали приоритетную очередь с именем numbers. . Мы вставили 4 и 2 в очередь.

Хотя 4 вставляется перед 2, заголовок очереди равен 2. Это связано с тем, что заголовок приоритетной очереди является наименьшим элементом очереди.

Затем мы вставили 1 в очередь. Очередь теперь реорганизована так, чтобы наименьший элемент 1 помещался в начало очереди.

<час>

Доступ к элементам PriorityQueue

Чтобы получить доступ к элементам из очереди с приоритетом, мы можем использовать 82 метод. Этот метод возвращает голову очереди. Например,

32

Вывод

40
<час>

Удалить элементы PriorityQueue

  • 90 - удаляет указанный элемент из очереди
  • 100 - возвращает и удаляет голову очереди

Например,

59

Вывод

61
<час>

Итерация PriorityQueue

Для перебора элементов приоритетной очереди мы можем использовать 118 метод. Чтобы использовать этот метод, мы должны импортировать 122 упаковка. Например,

73

Вывод

80
<час>

Другие методы PriorityQueue

Методы Описания
131 Выполняет поиск указанного элемента в приоритетной очереди. Если элемент найден, он возвращает 146 , если нет, возвращает 150 .
165 Возвращает длину приоритетной очереди.
176 Преобразует приоритетную очередь в массив и возвращает ее.
<час>

Компаратор PriorityQueue

Во всех приведенных выше примерах элементы очереди с приоритетом извлекаются в естественном порядке (в порядке возрастания). Однако мы можем изменить этот порядок.

Для этого нам нужно создать собственный класс компаратора, реализующий 185 интерфейс. Например,

90

Вывод

107

В приведенном выше примере мы создали приоритетную очередь, передавая CustomComparator. класс в качестве аргумента.

Пользовательский компаратор класс реализует 197 интерфейс.

Затем мы переопределяем 208 метод. Теперь метод заставляет заголовок элемента быть наибольшим числом.

Чтобы узнать больше о компараторе, посетите Java Comparator.


java

  1. Операторы Java
  2. Java-комментарии
  3. Java для каждого цикла
  4. Java-строки
  5. Java-интерфейс
  6. Анонимный класс Java
  7. Java-проба с ресурсами
  8. Java-аннотации
  9. Утверждения Java
  10. Java вектор