我有以下元组列表:
val arr = List(('a',10),('b',2),('c',3))
Run Code Online (Sandbox Code Playgroud)
如何找到最大键或最大值的元组?
正确的答案应该是(c, 3)按字典顺序或('a', 10)最大值的最大键.
om-*_*nom 38
十分简单:
scala> val list = List(('a',10),('b',2),('c',3))
list: List[(Char, Int)] = List((a,10), (b,2), (c,3))
scala> val maxByKey = list.maxBy(_._1)
maxByKey: (Char, Int) = (c,3)
scala> val maxByVal = list.maxBy(_._2)
maxByVal: (Char, Int) = (a,10)
Run Code Online (Sandbox Code Playgroud)
因此,基本上您可以提供List[T]任何函数T => B(B可以是任何有序类型,例如Int或String通过示例),用于查找最大值.