我想在一个地图中找到一个键,给定一个值。我现在用的是“查找”功能,通过不能够弄清楚了它的正确谓词:使用查找功能的地图在斯卡拉
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
}
如何遍历在地图上,并找到钥匙,当我知道的价值?
它返回一个Some(1,“红色”)。我从中提取密钥? –
@Core_Dumped:我从接受中假设你可能已经想通了,但以防万一:如果你运行代码,因为它实际上在答案中,你会得到密钥这是'.getOrElse(default)._ 1'的意思,它从'find'中提取''Option'的值,给定默认值,用'_1'获得结果对的第一个元素,这恰好是地图情况下的关键。 –