Java 简明教程
Java PriorityQueue Class
Introduction
Java PriorityQueue 类是一个基于优先级堆的非有界优先级队列。以下是有关 PriorityQueue 的重要事项:
-
优先级队列中的元素按其自然顺序或通过在队列构建时提供的比较器进行排序,具体取决于使用的构造函数。
-
优先队列不允许空元素。
-
也依赖于自然排序的优先级不再允许插入不可比较对象。
Class declaration
以下是*java.util.PriorityQueue* 类的声明 −
public class PriorityQueue<E>
extends AbstractQueue<E>
implements Serializable
Methods inherited
此类从以下类中继承方法:
-
java.util.AbstractQueue
-
java.util.AbstractCollection
-
java.util.Object
-
java.util.Collection
Adding an Item to a Priority Queue Example
以下示例展示了 Java PriorityQueue add(E) 方法的用法来添加 Integers。我们使用 add() 方法调用按元素为 PriorityQueue 对象添加一些 Integers,然后打印每个元素以显示添加的元素。
package com.tutorialspoint;
import java.util.PriorityQueue;
public class PriorityQueueDemo {
public static void main(String[] args) {
// create an empty priority queue with an initial capacity
PriorityQueue<Integer> queue = new PriorityQueue<>(5);
// use add() method to add elements in the queue
queue.add(20);
queue.add(30);
queue.add(20);
queue.add(30);
queue.add(15);
queue.add(22);
queue.add(11);
// let us print all the elements available in queue
for (Integer number : queue) {
System.out.println("Number = " + number);
}
}
}
让我们编译并运行上述程序,这将生成以下结果 −
Number = 11
Number = 20
Number = 15
Number = 30
Number = 30
Number = 22
Number = 20