java 创建优先队列
时间: 2023-08-28 08:06:32 浏览: 117
要在Java中创建优先队列,你可以使用`PriorityQueue`类。`PriorityQueue`是一个基于优先级堆的实现,它根据元素的优先级进行排序。
下面是一个简单的示例代码,演示如何创建和使用优先队列:
```java
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// 创建一个优先队列,默认按自然顺序排序(最小堆)
PriorityQueue<Integer> pq = new PriorityQueue<>();
// 添加元素到队列
pq.offer(5);
pq.offer(2);
pq.offer(8);
pq.offer(1);
pq.offer(10);
// 输出队列中的元素
while (!pq.isEmpty()) {
System.out.println(pq.poll());
}
}
}
```
输出结果将会是:
```
1
2
5
8
10
```
在上面的示例中,我们创建了一个整数类型的优先队列,并使用`offer()`方法添加元素。然后,我们使用`poll()`方法从队列中取出并删除最小的元素,直到队列为空。
你可以根据需要自定义比较器来实现不同的排序方式。例如,如果你想要按照元素的降序排序,可以创建一个自定义的比较器,并将其传递给优先队列的构造函数。
阅读全文