PriorityQueue

2020-03-25  本文已影响0人  wintersweett

一、默认(不带比较器)升序排列
Queue<Integer>queue=new PriorityQueue<>();
queue.offer(4);
queue.offer(3);
queue.offer(5);
for(int i:queue){
System.out.printf(" "+i);
}
System.out.printf("////////////////////");

    Comparator<Integer> cmp=new Comparator<Integer>() {
        @Override
        public int compare(Integer o1, Integer o2) {
            return o2-o1;
        }
    };

    Queue<Integer>queue1=new PriorityQueue<>(cmp);
    queue1.offer(4);
    queue1.offer(3);
    queue1.offer(5);
    for(int i:queue1){
        System.out.printf(" "+i);
    }

输出结果为:
3 4 5//////////////////// 5 3 4

二、比较器说明
Comparator<Object> cmp = new Comparator<Object>() {
public int compare(Object o1, Object o2) {
//升序
return o1-o2;
//降序
return o2-o1;
}
};

上一篇 下一篇

猜你喜欢

热点阅读