gpt4 book ai didi

Java:PriorityQueue 初始化

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:36 25 4
gpt4 key购买 nike

我试图理解以下启动优先队列的行:

PriorityQueue<int[]> pq = new PriorityQueue<>((a, b) -> b[1] - a[1]);

对比文档中的Constructor部分, https://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html

我不知道它使用的是哪个构造函数。有人可以分享这个想法吗?

此外,是否有文档可以更好地解释/定义语法 (a, b) -> b[1] - a[1] ... 虽然我可以猜到它的意思。

非常感谢!

最佳答案

PriorityQueue 的构建使用了 1.7 中尚不存在的构造函数,这是您链接的 Javadocs 的版本。

它使用 constructor that takes a Comparator这是为 Java 1.8 添加的,它与您提供的 lambda 表达式相匹配。

Creates a PriorityQueue with the default initial capacity and whose elements are ordered according to the specified comparator.

Since:

1.8

Lambda expressions是在 Java 1.8 中引入的。在这里,基本上您有 2 个参数和表达式匹配到一个功能接口(interface) --Comparator

关于Java:PriorityQueue 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48553286/

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