- java中的PriorityQueue默认情况下是小顶堆
Queue<Integer>A=new PriorityQueue<>()
- 下面是大顶堆的写法
A=new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO 自动生成的方法存根
return o2-o1;
}
});
- 兰姆它,当然还有更简便的写法
B=new PriorityQueue<>((x,y) -> (y-x));
其实这两个大顶堆的写法实际都是一样的,都是传入一个比较器,只不过上面那个是匿名内部类型的方式,下面这个是lamdba表达式的写法。