Kotlin Map maxOfWith()
Syntax & Examples
Syntax of Map.maxOfWith()
The syntax of Map.maxOfWith() extension function is:
fun <K, V, R> Map<out K, V>.maxOfWith( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R
This maxOfWith() extension function of Map returns the largest value according to the provided comparator among all values produced by selector function applied to each entry in the map.
✐ Examples
1 Get key with the longest string value
In this example,
- We create a map named
map1
with key-value pairs{'apple': 3, 'banana': 1, 'cherry': 2}
. - We then apply the
maxOfWith()
function onmap1
, using the comparatorcompareBy { it.length }
to compare keys based on their lengths. - As a result, the key with the longest string value ('banan') is returned.
- We print the result to standard output.
Kotlin Program
fun main(args: Array<String>) {
val map1 = mapOf("apple" to 3, "banana" to 1, "cherry" to 2)
val result = map1.maxOfWith(compareBy { it.length }) { it.key }
println(result)
}
Output
banana
2 Get key with the largest value
In this example,
- We create a map named
map2
with key-value pairs{1: 'apple', 2: 'banana', 3: 'cherry'}
. - We then apply the
maxOfWith()
function onmap2
, using the comparatorcompareBy { it }
to compare the keys. - As a result, the key which is the largest (3) is returned.
- We print the result to standard output.
Kotlin Program
fun main(args: Array<String>) {
val map2 = mapOf(1 to "apple", 2 to "banana", 3 to "cherry")
val result = map2.maxOfWith(compareBy { it }) { it.key }
println(result)
}
Output
3
Summary
In this Kotlin tutorial, we learned about maxOfWith() extension function of Map: the syntax and few working examples with output and detailed explanation for each example.