There are 2 variations for the syntax of Map.maxWith() extension function. They are:
fun <K, V> Map<out K, V>.maxWith( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>
This extension function returns the first entry having the largest value according to the provided comparator.
fun <K, V> Map<out K, V>.maxWith( comparator: Comparator<in Entry<K, V>> ): Entry<K, V>?
This extension function
In this example,
map1
with key-value pairs {'apple': 3, 'banana': 1, 'cherry': 2}
.maxWith()
function on map1
, using the comparator compareBy { it.value }
to compare entries based on their values.fun main(args: Array<String>) {
val map1 = mapOf("apple" to 3, "banana" to 1, "cherry" to 2)
val result = map1.maxWith(compareBy { it.value })
println(result)
}
apple=3
In this example,
map2
with key-value pairs {1: 'apple', 2: 'banana', 3: 'cherry'}
.maxWith()
function on map2
, using the comparator compareBy { it.key }
to compare entries based on their keys.fun main(args: Array<String>) {
val map2 = mapOf(1 to "apple", 2 to "banana", 3 to "cherry")
val result = map2.maxWith(compareBy { it.key })
println(result)
}
3=cherry
In this example,
map3
with key-value pairs {'apple': 5, 'banana': 7, 'cherry': 3}
.maxWith()
function on map3
, using the comparator compareBy { it.value }
to compare entries based on their values.fun main(args: Array<String>) {
val map3 = mapOf("apple" to 5, "banana" to 7, "cherry" to 3)
val result = map3.maxWith(compareBy { it.value })
println(result)
}
banana=7
In this Kotlin tutorial, we learned about maxWith() extension function of Map: the syntax and few working examples with output and detailed explanation for each example.