Kotlin Tutorials

Kotlin Map maxOfWithOrNull()
Syntax & Examples

Syntax of Map.maxOfWithOrNull()

The syntax of Map.maxOfWithOrNull() extension function is:

fun <K, V, R> Map<out K, V>.maxOfWithOrNull( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R?

This maxOfWithOrNull() 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 or null if there are no entries.



✐ Examples

1 Get largest value in the map

In this example,

  • We create a map named map1 with key-value pairs.
  • We use the maxOfWithOrNull() function on map1 with a reverse comparator and a selector that returns values.
  • The resulting value is the smallest among all values in map1.
  • We print the resulting value to standard output.

Kotlin Program

fun main(args: Array<String>) {
    val map1 = mapOf("key1" to 1, "key2" to 2, "key3" to 3)
    val result = map1.maxOfWithOrNull(Comparator.reverseOrder(), { it.value })
    println(result)
}

Output

1

2 Get largest key length in the map

In this example,

  • We create a map named map2 with key-value pairs.
  • We use the maxOfWithOrNull() function on map2 with a reverse comparator and a selector that returns key lengths.
  • The resulting value is the smallest among all key lengths in map2.
  • We print the resulting value to standard output.

Kotlin Program

fun main(args: Array<String>) {
    val map2 = mapOf("apple" to 1, "banana" to 2, "cherry" to 3)
    val result = map2.maxOfWithOrNull(Comparator.reverseOrder(), { it.key.length })
    println(result)
}

Output

5

Summary

In this Kotlin tutorial, we learned about maxOfWithOrNull() extension function of Map: the syntax and few working examples with output and detailed explanation for each example.