我目前在 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/