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.
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.
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.