按值获取Scala映射中的最大键值对

pma*_*ais 8 scala scala-collections

我试图从地图及其键中拉出最大值.例如:

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

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

0__*_*0__ 23

您可以使用maxBy键值对中的函数来只使用值:

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

map.maxBy(_._2)  // (a,100)
Run Code Online (Sandbox Code Playgroud)

这是一个简短的表格

map.maxBy { case (key, value) => value }
Run Code Online (Sandbox Code Playgroud)