minByOrNull

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

(source)

Returns the first element yielding the smallest 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 list = listOf("abcd", "abc", "ab", "abcde")
val shortestString = list.minByOrNull { it.length }
println(shortestString) // ab

val emptyList = emptyList<String>()
val emptyMin = emptyList.minByOrNull { it.length }
println(emptyMin) // null
//sampleEnd
}