阅读量:4
PriorityQueue可以通过使用比较器来实现排序。比较器可以根据元素的优先级来确定它们在队列中的顺序。在PriorityQueue中,元素会根据比较器的规则进行排序,优先级高的元素会被放在队列的前面。
例如,如果我们想要实现一个PriorityQueue,其中元素是整数,根据它们的值进行排序,我们可以使用以下方法:
PriorityQueue<Integer> pq = new PriorityQueue<>(Comparator.reverseOrder()); pq.add(5); pq.add(3); pq.add(8); while (!pq.isEmpty()) { System.out.println(pq.poll()); }
在这个例子中,我们创建了一个PriorityQueue,并使用Comparator.reverseOrder()来创建一个比较器,以便根据元素的值降序排序。然后我们向队列中添加一些整数,并使用poll()方法来获取队列中优先级最高的元素。最终输出结果将会是8,5,3。