How to find max in a list of tuples?
scala
Solution
Easy-peasy:
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)
So basically you can provide to `List[T]` any function `T => B` (where `B` can be any ordered type, such as `Int` or `String` by example) that will be used to find the maximum.
Problem
I have the following list of tuples: ``` val arr = List(('a',10),('b',2),('c',3)) ``` How to find the tuple with the max key or max value? The proper answer should be `(c, 3)` for max key lexicographically or `('a', 10)` for max value.