maxByOrNull

Common
JVM
JS
Native
1.4
inline fun <T, R : Comparable<R>> Sequence<T>.maxByOrNull(
    selector: (T) -> R
): T?

(source)

Returns the first element yielding the largest value of the given function or null if there are no elements.

The operation is terminal.

import kotlin.test.*

fun main(args: Array<String>) {
//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
}