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)
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.
Scala Int max() method with exampleThe max() method is utilized to return the maximum value of the two specified int numbers. Return Type: It returns true the maximum value of the two specified int numbers.
Scala Map get() method with exampleThe get() method is utilized to give the value associated with the keys of the map. The values are returned here as an Option i.e, either in form of Some or None. Return Type: It returns the keys corresponding to the values given in the method as argument.
Java HashMap. Java HashMap class implements the Map interface which allows us to store key and value pair, where keys should be unique. If you try to insert the duplicate key, it will replace the element of the corresponding key. It is easy to perform operations using the key index like updation, deletion, etc.
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)
This is a short form for
map.maxBy { case (key, value) => value }
A slight modification in case the max value you are looking for is present more than once in the map:
// Find the entries with the max value in the map
val maxValue = map.maxBy(item => item._2)
// Filter the map and retain the entries with the max value
map.filter(item => item._2 == maxValue._2)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With