max By
Требования к платформе и версии: Общая (1.7)
inline fun <T, R : Comparable<R>> Sequence<T>.maxBy(selector: (T) -> R): T
Возвращает первый элемент, для которого функция выбора возвращает наибольшее значение.
Если функция выбора возвращает несколько одинаковых максимальных значений, эта функция возвращает первый из элементов, соответствующих этим значениям.
Обратите внимание, что функция выбора не вызывается, если последовательность содержит ноль или один элемент, поскольку в этих случаях понятно, какой элемент нужно вернуть, и без вызова функции выбора. Поэтому рекомендуется не полагаться на побочные эффекты, которые функция выбора выполняет для каждого элемента.
Операция является терминальной.
Исключения
если последовательность пуста.
Примеры
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
}
Требования к платформе и версии: JVM (1.0)
inline fun <T, R : Comparable<R>> Sequence<T>.maxBy(selector: (T) -> R): T?
Устарело
Предупреждение начиная с 1.4
Ошибка начиная с 1.5
Скрыто начиная с 1.6
Вместо этого используйте maxByOrNull.
Заменить на
this.maxByOrNull(selector)
© 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.sequences/max-by.html