How to iterate over a PriorityQueue?

后端 未结 9 2067
被撕碎了的回忆
被撕碎了的回忆 2020-11-30 03:48
for (Event e : pq)

doesn\'t iterate in the priority order.

while(!pq.isEmpty()){
  Event e = pq.poll();
}

This wo

9条回答
  •  Happy的楠姐
    2020-11-30 04:19

    Previous posters said everything but noone gave full working example (other than copying pq), so here it is:

    Event[] events = pq.toArray(new Event[pq.size()]);
    Arrays.sort(events, pq.comparator());
    for (Event e : events) {
        System.out.println(e);
    }
    

提交回复
热议问题