maxByOrNull
Returns the first element yielding the largest value of the given function or null
if there are no elements.
Since Kotlin
1.4Samples
import kotlin.test.*
fun main() {
//sampleStart
val nameToAge = listOf("Alice" to 42, "Bob" to 28, "Carol" to 51)
val oldestPerson = nameToAge.maxByOrNull { it.second }
println(oldestPerson) // (Carol, 51)
val emptyList = emptyList<Pair<String, Int>>()
val emptyMax = emptyList.maxByOrNull { it.second }
println(emptyMax) // null
//sampleEnd
}
inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxByOrNull(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>?(source)
Returns the first entry yielding the largest value of the given function or null
if there are no entries.
Since Kotlin
1.4Samples
import kotlin.test.*
fun main() {
//sampleStart
val nameToAge = listOf("Alice" to 42, "Bob" to 28, "Carol" to 51)
val oldestPerson = nameToAge.maxByOrNull { it.second }
println(oldestPerson) // (Carol, 51)
val emptyList = emptyList<Pair<String, Int>>()
val emptyMax = emptyList.maxByOrNull { it.second }
println(emptyMax) // null
//sampleEnd
}