Java的优先级队列可以使用java.util.PriorityQueue类来实现。下面是一个使用优先级队列的示例:
import java.util.PriorityQueue;public class PriorityQueueExample {public static void main(String[] args) {// 创建一个优先级队列PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();// 添加元素到队列priorityQueue.offer(5);priorityQueue.offer(2);priorityQueue.offer(8);priorityQueue.offer(3);// 打印队列中的元素while (!priorityQueue.isEmpty()) {System.out.println(priorityQueue.poll());}}}运行上面的代码会输出:
2358优先级队列会按照元素的优先级进行排序。默认情况下,优先级队列中的元素按照自然顺序进行排序。如果要指定自定义的排序规则,可以通过传入Comparator对象来创建优先级队列,例如:
import java.util.Comparator;import java.util.PriorityQueue;public class PriorityQueueExample {public static void main(String[] args) {// 创建一个优先级队列,使用自定义的排序规则PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(Comparator.reverseOrder());// 添加元素到队列priorityQueue.offer(5);priorityQueue.offer(2);priorityQueue.offer(8);priorityQueue.offer(3);// 打印队列中的元素while (!priorityQueue.isEmpty()) {System.out.println(priorityQueue.poll());}}}上面的代码会输出:
8532这里我们通过传入Comparator.reverseOrder()来创建一个比较器,使得元素按照降序排序。

