从 Scala 映射中获取所有具有最大值的键值对
Getting all key value pairs having the maximum value from a Scala map
我在这里看到了类似的 post ,它给出了在整个 Map 中具有最大值的单个键值对。
但我想得到具有最大值的对列表(许多对的最大值相同)。
例如:Map(1 -> 7, 2 -> 1, 4 -> 7, 3 -> 2)
预期输出:List(1 -> 7, 4 -> 7)
这个 (Map(1 -> 7, 2 -> 1, 4 -> 7, 3 -> 2).maxBy(x => x._2)
) 只会给出第一次出现 1 -> 7
使用 map.filter(_._2 == map.values.max)
即可。
val maxValue = map.values.max
map.filter(_._2 == maxValue).toList
我在这里看到了类似的 post
但我想得到具有最大值的对列表(许多对的最大值相同)。
例如:Map(1 -> 7, 2 -> 1, 4 -> 7, 3 -> 2)
预期输出:List(1 -> 7, 4 -> 7)
这个 (Map(1 -> 7, 2 -> 1, 4 -> 7, 3 -> 2).maxBy(x => x._2)
) 只会给出第一次出现 1 -> 7
使用 map.filter(_._2 == map.values.max)
即可。
val maxValue = map.values.max
map.filter(_._2 == maxValue).toList