繁体   English   中英

从Scala映射中获取所有具有最大值的键值对

[英]Getting all key value pairs having the maximum value from a Scala map

我在这里看到了类似的帖子,给出了一个在整个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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM