【问题标题】:Getting all key value pairs having the maximum value from a Scala map从 Scala 映射中获取所有具有最大值的键值对
【发布时间】:2018-09-22 08:26:11
【问题描述】:

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

【问题讨论】:

  • 谢谢@vindev。这对我有帮助

标签: scala scala-collections


【解决方案1】:

使用map.filter(_._2 == map.values.max) 就可以了。

【讨论】:

    【解决方案2】:
    val maxValue = map.values.max
    map.filter(_._2 == maxValue).toList
    

    【讨论】:

      猜你喜欢
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2018-09-25
      • 2011-08-08
      • 2018-11-03
      • 1970-01-01
      相关资源
      最近更新 更多