min By
Требования к платформе и версии: Common (1.7)
inline fun <T, R : Comparable<R>> Array<out T>.minBy(selector: (T) -> R): T
inline fun <R : Comparable<R>> ByteArray.minBy(selector: (Byte) -> R): Byte
inline fun <R : Comparable<R>> ShortArray.minBy(selector: (Short) -> R): Short
inline fun <R : Comparable<R>> IntArray.minBy(selector: (Int) -> R): Int
inline fun <R : Comparable<R>> LongArray.minBy(selector: (Long) -> R): Long
inline fun <R : Comparable<R>> FloatArray.minBy(selector: (Float) -> R): Float
inline fun <R : Comparable<R>> DoubleArray.minBy(selector: (Double) -> R): Double
inline fun <R : Comparable<R>> BooleanArray.minBy(selector: (Boolean) -> R): Boolean
inline fun <R : Comparable<R>> CharArray.minBy(selector: (Char) -> R): Char
inline fun <R : Comparable<R>> UIntArray.minBy(selector: (UInt) -> R): UInt
inline fun <R : Comparable<R>> ULongArray.minBy(selector: (ULong) -> R): ULong
inline fun <R : Comparable<R>> UByteArray.minBy(selector: (UByte) -> R): UByte
inline fun <R : Comparable<R>> UShortArray.minBy(selector: (UShort) -> R): UShort
Возвращает первый элемент, для которого функция selector возвращает наименьшее значение.
Если функция 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
}
inline fun <T, R : Comparable<R>> Iterable<T>.minBy(selector: (T) -> R): T
Возвращает первый элемент, для которого функция selector возвращает наименьшее значение.
Если функция 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
}
inline fun <K, V, R : Comparable<R>> Map<out K, V>.minBy(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>
Возвращает первую запись, для которой функция selector возвращает наименьшее значение.
Если функция selector возвращает несколько одинаковых минимальных значений, эта функция возвращает первую из записей, соответствующих этим значениям.
Обратите внимание, что функция selector не вызывается, если map содержит ноль или одну запись, поскольку в этих случаях понятно, какую запись следует вернуть, и вызывать функцию selector не требуется. Поэтому рекомендуется не полагаться на побочные эффекты, возникающие при вызове функции selector для каждой записи.
Выбрасывает
если map пуста.
Примеры
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>> Array<out T>.minBy(selector: (T) -> R): T?
inline fun <R : Comparable<R>> ByteArray.minBy(selector: (Byte) -> R): Byte?
inline fun <R : Comparable<R>> ShortArray.minBy(selector: (Short) -> R): Short?
inline fun <R : Comparable<R>> IntArray.minBy(selector: (Int) -> R): Int?
inline fun <R : Comparable<R>> LongArray.minBy(selector: (Long) -> R): Long?
inline fun <R : Comparable<R>> FloatArray.minBy(selector: (Float) -> R): Float?
inline fun <R : Comparable<R>> DoubleArray.minBy(selector: (Double) -> R): Double?
inline fun <R : Comparable<R>> BooleanArray.minBy(selector: (Boolean) -> R): Boolean?
inline fun <R : Comparable<R>> CharArray.minBy(selector: (Char) -> R): Char?
inline fun <T, R : Comparable<R>> Iterable<T>.minBy(selector: (T) -> R): T?
inline fun <K, V, R : Comparable<R>> Map<out K, V>.minBy(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>?
Устарело
Предупреждение начиная с 1.4
Ошибка начиная с 1.5
Скрыто начиная с 1.6
Вместо этого используйте minByOrNull.
Заменить на
this.minByOrNull(selector)
inline fun <R : Comparable<R>> UIntArray.minBy(selector: (UInt) -> R): UInt?
inline fun <R : Comparable<R>> ULongArray.minBy(selector: (ULong) -> R): ULong?
inline fun <R : Comparable<R>> UByteArray.minBy(selector: (UByte) -> R): UByte?
inline fun <R : Comparable<R>> UShortArray.minBy(selector: (UShort) -> R): UShort?
Устарело
Предупреждение начиная с 1.4
Ошибка начиная с 1.5
Скрыто начиная с 1.6
Вместо этого используйте minByOrNull.
Заменить на
this.minByOrNull(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.collections/min-by.html