PriorityQueue<Integer> queue = new PriorityQueue<>(new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2){
//如果认为o1优先级比o2高,先出o1 compare返回<0的整数
//如果认为o2优先级比o1高,先出o2 compare返回>0的整数
//如果一样,返回0
return o2 - o1;
//差值大于1则交换位置
//return o2.compareTo(o1);
}
});
lambda写法
PriorityQueue<Integer> queue = new PriorityQueue<>((o1, o2) -> {
return o2-o1;
});