我试图在 map 中找到一个键,给定一个值。我使用 'find' 函数是因为无法为它找出正确的谓词:
val colors = Map(1 -> "red", 2 -> "blue")
def keyForValue(map: Map[Int, String], value: String) = {
val bool = map.find{map.foreach{map.values(i) == value}}
bool.key
}
当我知道值时,如何遍历 map 并找到键?
最佳答案
您使用与 List
相同类型的谓词,但请记住您是 对其进行评估 (key,value)
对 , 而不仅仅是值 (并且还得到一对!) .
简单的例子:
val default = (-1,"")
val value = "red"
colors.find(_._2==value).getOrElse(default)._1
关于scala - 在 Scala 中对 map 使用 find 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572600/