gpt4 book ai didi

scala - Scala map 中有 findall 吗?

转载 作者:行者123 更新时间:2023-12-02 18:08:27 26 4
gpt4 key购买 nike

在 Scala Map 中,如何获取 Map 中具有相同值的所有键?

例如,在我的 map 中,我有 3 个值为 27 的键

例如:

large -> 27
indispensable -> 27
most -> 27

我试过了

val adj1value = htAdjId.find(_._2 == value1).getOrElse(default)._1

但这只给了我第一个键“大”(就像 find 的 definition 一样)。我搜索了很多,但找不到“findall”功能。 Scala 中存在吗?如果没有,有人可以建议我如何解决这个问题吗?

最佳答案

您可以使用keys过滤集合并提取所有键:

val map = Map("h" -> 27, "b" -> 2, "c" -> 27)
map.filter { case (key, value) => value == 27 }.keys

产量

res0: Iterable[String] = Set(h, c)

尽管我认为,如果您每次都需要迭代整个 Map,那么它可能不是正确的数据结构,也许是 List[(String, Int)] 就足够了,并且可以节省使用 Map 所产生的开销。

关于scala - Scala map 中有 findall 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44456083/

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