gpt4 book ai didi

kotlin - 从 Kotlin 中的 Map 获取具有最大值的条目

转载 作者:IT老高 更新时间:2023-10-28 13:46:26 36 4
gpt4 key购买 nike

我不明白如何使用 Map 接口(interface)中的 maxBymaxWith 方法。我有这个代码:

var myMap: Map<String, Int> = mutableMapOf()
// ...
var best = myMap.maxBy { ??? }

我想获取具有最大值的条目,但我不知道要传递给 maxBymaxWith 什么。

最佳答案

MaxBy

MaxBy 将值转换为可比较类型,并通过计算值进行比较

MaxWith

MaxWith 将项目相互比较,并根据比较器的返回值对它们进行排序。

使用哪个

MaxBy 通常更有意义,因为它通常更快(尽管 YMMV),并且因为实现可以更简单,但如果项目只能通过比较进行排序,则可能需要 maxWith。

如何使用

这将获得最高值的条目:

var maxBy = myMap.maxBy { it.value }

与 maxWith 相同的代码如下所示:

val maxWith = myMap.maxWith(Comparator({a, b -> a.value.compareTo(b.value)}))

关于kotlin - 从 Kotlin 中的 Map 获取具有最大值的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47026106/

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