PriorityQueue类
时间: 2023-12-24 11:24:46 浏览: 90
PriorityQueue类是Java集合框架中的一种队列数据结构,它继承了Queue接口并重写了其中的方法,实现了按照优先级出队列的功能。PriorityQueue类的构造方法可以根据需要传入一个比较器对象,用于定义元素之间的优先级关系。以下是一个PriorityQueue类的例子:
```java
import java.util.PriorityQueue;
public class PriorityQueueExample {
public static void main(String[] args) {
// 创建一个优先级队列,元素类型为Integer
PriorityQueue<Integer> pq = new PriorityQueue<>();
// 添加元素到队列中
pq.add(3);
pq.add(1);
pq.add(2);
// 输出队列中的元素
while (!pq.isEmpty()) {
System.out.print(pq.poll() + " "); // 输出:1 2 3
}
}
}
```
在上面的例子中,我们创建了一个元素类型为Integer的优先级队列,并添加了三个元素。由于Integer类型已经实现了Comparable接口,所以默认情况下元素之间的优先级关系就是它们的大小关系。因此,当我们从队列中取出元素时,会按照从小到大的顺序输出。如果我们需要自定义元素之间的优先级关系,可以传入一个比较器对象来实现。
阅读全文