java 实现优先队列
时间: 2023-06-10 14:05:34 浏览: 71
Java 中的优先队列可以使用Java内置的PriorityQueue类来实现。PriorityQueue是一个基于优先级堆的无界优先队列,元素按照其自然顺序进行排序,或者根据构造队列时提供的Comparator进行排序。
以下是一个示例代码,实现一个按照整型值从小到大的顺序排列的优先队列:
```
import java.util.PriorityQueue;
public class PriorityQueueExample {
public static void main(String[] args) {
// 创建一个优先队列,元素按照整型值从小到大的顺序排序
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
// 添加元素
priorityQueue.offer(5);
priorityQueue.offer(8);
priorityQueue.offer(3);
priorityQueue.offer(1);
// 输出队列中的元素
while (!priorityQueue.isEmpty()) {
System.out.print(priorityQueue.poll() + " ");
}
}
}
```
输出结果为 1 3 5 8。
通过调用priorityQueue.offer()方法向队列中添加元素,调用priorityQueue.poll()方法从队列中取出元素。元素按照其自然顺序进行排序,因此输出结果按照从小到大的顺序排列。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)