Change priorityQueue to max priorityqueue

后端 未结 17 1836
一整个雨季
一整个雨季 2020-12-04 05:13

I have priority queue in Java of Integers:

 PriorityQueue pq= new PriorityQueue();

When I call pq.poll(

17条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-04 06:10

    How about like this:

    PriorityQueue queue = new PriorityQueue<>(10, Collections.reverseOrder());
    queue.offer(1);
    queue.offer(2);
    queue.offer(3);
    //...
    
    Integer val = null;
    while( (val = queue.poll()) != null) {
        System.out.println(val);
    }
    

    The Collections.reverseOrder() provides a Comparator that would sort the elements in the PriorityQueue in a the oposite order to their natural order in this case.

提交回复
热议问题