min By Or Null
Начиная с Kotlin: 1.4
inline fun <R : Comparable<R>> CharSequence.minByOrNull(selector: (Char) -> R): Char?
Возвращает первый символ, для которого функция selector возвращает наименьшее значение, или null, если символов нет.
Если функция selector возвращает несколько одинаковых минимальных значений, эта функция возвращает первый из символов, соответствующих этим значениям.
Обратите внимание, что функция selector не вызывается, если последовательность символов содержит ноль или один символ, поскольку в этих случаях понятно, какой символ нужно вернуть, и без вызова функции selector. Поэтому рекомендуется не полагаться на побочные эффекты, возникающие при вызове функции selector для каждого символа.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val strings = listOf("abcd", "abc", "ab", "de", "abcde")
val longestString = strings.maxBy { it.length }
println(longestString) // abcde
val shortestString = strings.minBy { it.length }
println(shortestString) // ab
val emptyList = emptyList<String>()
// maxBy() and minBy() throw if the collection is empty
// emptyList.maxBy { it.length } // will fail with NoSuchElementException
// emptyList.minBy { it.length } // will fail with NoSuchElementException
// maxByOrNull() and minByOrNull() return null if the collection is empty
println(emptyList.maxByOrNull { it.length }) // null
println(emptyList.minByOrNull { it.length }) // null
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/min-by-or-null.html