The syntax of Map.minOfWith() extension function is:
fun <K, V, R> Map<out K, V>.minOfWith( comparator: Comparator<in R>, selector: (Entry<K, V>) -> R ): R
This minOfWith() extension function of Map returns the smallest value according to the provided comparator among all values produced by selector function applied to each entry in the map.
In this example,
map1
with key-value pairs.minOfWith()
function on map1
with a custom comparator comparing values.map1
.fun main(args: Array<String>) {
val map1 = mapOf("key1" to 1, "key2" to 2, "key3" to 3)
val result = map1.minOfWith(Comparator { o1, o2 -> o1.compareTo(o2) }, { it.value })
println(result)
}
1
In this example,
map2
with key-value pairs.minOfWith()
function on map2
with a custom comparator comparing key lengths.map2
.fun main(args: Array<String>) {
val map2 = mapOf("apple" to 1, "banana" to 2, "cherry" to 3)
val result = map2.minOfWith(Comparator { o1, o2 -> o1.compareTo(o2) }, { it.key.length })
println(result)
}
5
In this Kotlin tutorial, we learned about minOfWith() extension function of Map: the syntax and few working examples with output and detailed explanation for each example.