按值获取 Scala 映射中的最大键值对 [英] Getting the maximum key value pair in a Scala map by value

查看:55
本文介绍了按值获取 Scala 映射中的最大键值对的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从地图中提取最大值及其键.例如:

I am trying to pull the maximum value form a map along with its key. For example:

val map = Map('a' -> 100, 'b' -> 23, ... 'z' -> 56)

其中 100 是最大值,我将如何拉 ('a',100)?我本质上想使用 Map.max 但按值而不是键搜索.

Where 100 is the largest value, how would I go about pulling ('a',100)? I essentially want to use Map.max but search by value rather than key.

推荐答案

您可以将 maxBy 与从键值对到仅值的函数一起使用:

You can use maxBy with a function from the key-value pair to just the value:

val map = Map('a' -> 100, 'b' -> 23, 'z' -> 56)

map.maxBy(_._2)  // (a,100)

这是一个简短的形式

map.maxBy { case (key, value) => value }

这篇关于按值获取 Scala 映射中的最大键值对的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆