scala - 在 Scala 中使用值从映射中检索键

标签 scala dictionary

我目前在 scala 中有一个 Map,我需要检索与某个值匹配的键(或多个键!)。

我目前有学生和考试分数的 map ,需要能够找到得分为我输入的值的学生。

我的 map 如下:

var students = Map(
 "Neil" -> 87
 "Buzz" -> 71
 "Michael" -> 95
)

我如何通过这张 map 搜索找到得分为 71 的学生,然后返回 key ?

提前致谢。

最佳答案

首先,您可能应该使用 val 而不是 var,如下所示:val students = Map("Neil"-> 97, “嗡嗡声”-> 71,“迈克尔”-> 95)

其次,您可能需要的方法称为 find

像这样students.find(_._2 == 71).map(_._1)

这基本上就是说,找到第一个(键,值)对,其中值 (_._2 == 71) 是 71,然后抛出值 .map( _._1)。它将被包装在一个选项中,因为可能有 0 个匹配项。

也就是说,除非您有办法确保一个值永远不会出现超过一次,否则您可能会对 filter 的结果感到满意。

关于scala - 在 Scala 中使用值从映射中检索键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41107398/

相关文章:

scala - 使用Java库的Scala,利用Java 8中的lambda表达式支持

scala - 将 fs2 流输出拆分为两个文件

c# - 选择 -> 引用自身(当前创建的列表)

python - 插入值时如何存储dict的差异?

ios - 将 "Get"请求数据分配给文本字段

scala - 除了输入/输出参数,类型变化的其他用途是什么?

scala - 基于返回类型推断的意外隐式解析

python - 如何在我的函数中替换 `eval`?

scala - 在Scala中有两个上限?

python-3.x - python3 - 将正则表达式映射应用于列