gpt4 book ai didi

java - Java 中的优先级队列(最小堆)排序

转载 作者:行者123 更新时间:2023-12-01 07:00:24 25 4
gpt4 key购买 nike

我正在使用优先级队列并遇到了这个声明。

PriorityQueue<Integer> heap = new PriorityQueue<Integer>((n1, n2) -> n1 - n2);

从功能上来说,我知道这是一个最小堆,但是有人可以向我解释一下 (n1, n2) -> n1 - n2 如何返回最小元素吗?

最佳答案

构造函数接受 Comparator<? super E> comparator

基本上是声明 (n1, n2) -> n1 - n2只是

的简写
Comparator<Integer> result = new Comparator<Integer>() {
@Override
public int compare(Integer n1, Integer n2){
return n1.compareTo(n2);
}
};

PriorityQueue<Integer> heap = new PriorityQueue<Integer>(result);

关于java - Java 中的优先级队列(最小堆)排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58714930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com