Java 优先队列PriorityQueue排序Pair

用lambda定义pair排序逻辑

 PriorityQueue<Pair<Integer,Integer>> q = 
            new PriorityQueue<Pair<Integer,Integer>>((a,b) -> a.getValue() - b.getValue());

这里(a,b) -> a.getValue() - b.getValue() 如果的逻辑是 返回值>0 则a大,否则b大

优先队列默认是小顶堆,最小元素在堆顶

如果要改变默认排序方式:

PriorityQueue<Integer> pq = new PriorityQueue<>((a, b) -> b - a);

猜你喜欢

转载自blog.csdn.net/Dale_zero/article/details/120219962