min Of
Начиная с Kotlin: 1.4
inline fun <T> Array<out T>.minOf(selector: (T) -> Double): Double
inline fun ByteArray.minOf(selector: (Byte) -> Double): Double
inline fun ShortArray.minOf(selector: (Short) -> Double): Double
inline fun IntArray.minOf(selector: (Int) -> Double): Double
inline fun LongArray.minOf(selector: (Long) -> Double): Double
inline fun FloatArray.minOf(selector: (Float) -> Double): Double
inline fun DoubleArray.minOf(selector: (Double) -> Double): Double
inline fun BooleanArray.minOf(selector: (Boolean) -> Double): Double
inline fun CharArray.minOf(selector: (Char) -> Double): Double
inline fun <T> Array<out T>.minOf(selector: (T) -> Float): Float
inline fun ByteArray.minOf(selector: (Byte) -> Float): Float
inline fun ShortArray.minOf(selector: (Short) -> Float): Float
inline fun IntArray.minOf(selector: (Int) -> Float): Float
inline fun LongArray.minOf(selector: (Long) -> Float): Float
inline fun FloatArray.minOf(selector: (Float) -> Float): Float
inline fun DoubleArray.minOf(selector: (Double) -> Float): Float
inline fun BooleanArray.minOf(selector: (Boolean) -> Float): Float
inline fun CharArray.minOf(selector: (Char) -> Float): Float
inline fun UIntArray.minOf(selector: (UInt) -> Double): Double
inline fun ULongArray.minOf(selector: (ULong) -> Double): Double
inline fun UByteArray.minOf(selector: (UByte) -> Double): Double
inline fun UShortArray.minOf(selector: (UShort) -> Double): Double
inline fun UIntArray.minOf(selector: (UInt) -> Float): Float
inline fun ULongArray.minOf(selector: (ULong) -> Float): Float
inline fun UByteArray.minOf(selector: (UByte) -> Float): Float
inline fun UShortArray.minOf(selector: (UShort) -> Float): Float
Возвращает наименьшее значение среди всех значений, полученных функцией селектор, применённой к каждому элементу массива.
Если какое-либо из значений, полученных функцией селектор, равно NaN, результатом будет NaN.
Выбрасывает
если массив пуст.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
data class Rectangle(val width: Double, val height: Double) {
val aspectRatio: Double get() = if (height != 0.0) width / height else Double.NaN
}
// The largest and smallest width-to-height ratios
val rectangles = listOf(
Rectangle(15.0, 10.0),
Rectangle(25.0, 20.0),
Rectangle(40.0, 30.0),
)
println(rectangles.maxOf { it.aspectRatio }) // 1.5
println(rectangles.minOf { it.aspectRatio }) // 1.25
// Aspect ratio of a point (0.0 by 0.0) is NaN, hence the result is NaN
val rectanglesAndPoint = rectangles + Rectangle(0.0, 0.0)
println(rectanglesAndPoint.maxOf { it.aspectRatio }) // NaN
println(rectanglesAndPoint.minOf { it.aspectRatio }) // NaN
val emptyList = emptyList<Rectangle>()
// maxOf() and minOf() throw if the collection is empty
// emptyList.maxOf { it.aspectRatio } // will fail with NoSuchElementException
// emptyList.minOf { it.aspectRatio } // will fail with NoSuchElementException
// maxOfOrNull() and minOfOrNull() return null if the collection is empty
println(emptyList.maxOfOrNull { it.aspectRatio }) // null
println(emptyList.minOfOrNull { it.aspectRatio }) // null
//sampleEnd
}
inline fun <T, R : Comparable<R>> Array<out T>.minOf(selector: (T) -> R): R
Возвращает наименьшее значение среди всех значений, полученных функцией селектор, применённой к каждому элементу массива.
Если минимальное значение получено для нескольких элементов, эта функция возвращает первое из этих значений.
Выбрасывает
если массив пуст.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
// The length of the longest and shortest names
val names = listOf("Alice", "Bob", "Carol")
println(names.maxOf { it.length }) // 5
println(names.minOf { it.length }) // 3
val emptyList = emptyList<String>()
// maxOf() and minOf() throw if the collection is empty
// emptyList.maxOf { it.length } // will fail with NoSuchElementException
// emptyList.minOf { it.length } // will fail with NoSuchElementException
// maxOfOrNull() and minOfOrNull() return null if the collection is empty
println(emptyList.maxOfOrNull { it.length }) // null
println(emptyList.minOfOrNull { it.length }) // null
//sampleEnd
}
inline fun <R : Comparable<R>> ByteArray.minOf(selector: (Byte) -> R): R
inline fun <R : Comparable<R>> ShortArray.minOf(selector: (Short) -> R): R
inline fun <R : Comparable<R>> IntArray.minOf(selector: (Int) -> R): R
inline fun <R : Comparable<R>> LongArray.minOf(selector: (Long) -> R): R
inline fun <R : Comparable<R>> FloatArray.minOf(selector: (Float) -> R): R
inline fun <R : Comparable<R>> DoubleArray.minOf(selector: (Double) -> R): R
inline fun <R : Comparable<R>> BooleanArray.minOf(selector: (Boolean) -> R): R
inline fun <R : Comparable<R>> CharArray.minOf(selector: (Char) -> R): R
inline fun <R : Comparable<R>> UIntArray.minOf(selector: (UInt) -> R): R
inline fun <R : Comparable<R>> ULongArray.minOf(selector: (ULong) -> R): R
inline fun <R : Comparable<R>> UByteArray.minOf(selector: (UByte) -> R): R
inline fun <R : Comparable<R>> UShortArray.minOf(selector: (UShort) -> R): R
Возвращает наименьшее значение среди всех значений, полученных функцией селектор, применённой к каждому элементу массива.
Если минимальное значение получено для нескольких элементов, эта функция возвращает первое из этих значений.
Выбрасывает
если массив пуст.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
// The largest and smallest last digits in the array
val numbers = intArrayOf(13, 7, 22, 64)
println(numbers.maxOf { it % 10 }) // 7
println(numbers.minOf { it % 10 }) // 2
val emptyArray = intArrayOf()
// maxOf() and minOf() throw if the array is empty
// emptyArray.maxOf { it % 10 } // will fail with NoSuchElementException
// emptyArray.minOf { it % 10 } // will fail with NoSuchElementException
// maxOfOrNull() and minOfOrNull() return null if the array is empty
println(emptyArray.maxOfOrNull { it % 10 }) // null
println(emptyArray.minOfOrNull { it % 10 }) // null
//sampleEnd
}
inline fun <T> Iterable<T>.minOf(selector: (T) -> Double): Double
inline fun <T> Iterable<T>.minOf(selector: (T) -> Float): Float
Возвращает наименьшее значение среди всех значений, полученных функцией селектор, применённой к каждому элементу коллекции.
Если какое-либо из значений, полученных функцией селектор, равно NaN, результатом будет NaN.
Выбрасывает
если коллекция пуста.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
data class Rectangle(val width: Double, val height: Double) {
val aspectRatio: Double get() = if (height != 0.0) width / height else Double.NaN
}
// The largest and smallest width-to-height ratios
val rectangles = listOf(
Rectangle(15.0, 10.0),
Rectangle(25.0, 20.0),
Rectangle(40.0, 30.0),
)
println(rectangles.maxOf { it.aspectRatio }) // 1.5
println(rectangles.minOf { it.aspectRatio }) // 1.25
// Aspect ratio of a point (0.0 by 0.0) is NaN, hence the result is NaN
val rectanglesAndPoint = rectangles + Rectangle(0.0, 0.0)
println(rectanglesAndPoint.maxOf { it.aspectRatio }) // NaN
println(rectanglesAndPoint.minOf { it.aspectRatio }) // NaN
val emptyList = emptyList<Rectangle>()
// maxOf() and minOf() throw if the collection is empty
// emptyList.maxOf { it.aspectRatio } // will fail with NoSuchElementException
// emptyList.minOf { it.aspectRatio } // will fail with NoSuchElementException
// maxOfOrNull() and minOfOrNull() return null if the collection is empty
println(emptyList.maxOfOrNull { it.aspectRatio }) // null
println(emptyList.minOfOrNull { it.aspectRatio }) // null
//sampleEnd
}
inline fun <T, R : Comparable<R>> Iterable<T>.minOf(selector: (T) -> R): R
Возвращает наименьшее значение среди всех значений, полученных функцией селектор, применённой к каждому элементу коллекции.
Если минимальное значение получено для нескольких элементов, эта функция возвращает первое из этих значений.
Выбрасывает
если коллекция пуста.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
// The length of the longest and shortest names
val names = listOf("Alice", "Bob", "Carol")
println(names.maxOf { it.length }) // 5
println(names.minOf { it.length }) // 3
val emptyList = emptyList<String>()
// maxOf() and minOf() throw if the collection is empty
// emptyList.maxOf { it.length } // will fail with NoSuchElementException
// emptyList.minOf { it.length } // will fail with NoSuchElementException
// maxOfOrNull() and minOfOrNull() return null if the collection is empty
println(emptyList.maxOfOrNull { it.length }) // null
println(emptyList.minOfOrNull { it.length }) // null
//sampleEnd
}
inline fun <K, V> Map<out K, V>.minOf(selector: (Map.Entry<K, V>) -> Double): Double
inline fun <K, V> Map<out K, V>.minOf(selector: (Map.Entry<K, V>) -> Float): Float
Возвращает наименьшее значение среди всех значений, полученных функцией селектор, применённой к каждой записи карты.
Если какое-либо из значений, полученных функцией селектор, равно NaN, результатом будет NaN.
Выбрасывает
если карта пуста.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
data class Rectangle(val width: Double, val height: Double) {
val aspectRatio: Double get() = if (height != 0.0) width / height else Double.NaN
}
// The largest and smallest width-to-height ratios
val rectangles = listOf(
Rectangle(15.0, 10.0),
Rectangle(25.0, 20.0),
Rectangle(40.0, 30.0),
)
println(rectangles.maxOf { it.aspectRatio }) // 1.5
println(rectangles.minOf { it.aspectRatio }) // 1.25
// Aspect ratio of a point (0.0 by 0.0) is NaN, hence the result is NaN
val rectanglesAndPoint = rectangles + Rectangle(0.0, 0.0)
println(rectanglesAndPoint.maxOf { it.aspectRatio }) // NaN
println(rectanglesAndPoint.minOf { it.aspectRatio }) // NaN
val emptyList = emptyList<Rectangle>()
// maxOf() and minOf() throw if the collection is empty
// emptyList.maxOf { it.aspectRatio } // will fail with NoSuchElementException
// emptyList.minOf { it.aspectRatio } // will fail with NoSuchElementException
// maxOfOrNull() and minOfOrNull() return null if the collection is empty
println(emptyList.maxOfOrNull { it.aspectRatio }) // null
println(emptyList.minOfOrNull { it.aspectRatio }) // null
//sampleEnd
}
inline fun <K, V, R : Comparable<R>> Map<out K, V>.minOf(selector: (Map.Entry<K, V>) -> R): R
Возвращает наименьшее значение среди всех значений, полученных функцией селектор, применённой к каждой записи карты.
Если минимальное значение получено для нескольких записей, эта функция возвращает первое из этих значений.
Выбрасывает
если карта пуста.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
// The length of the longest and shortest names
val names = listOf("Alice", "Bob", "Carol")
println(names.maxOf { it.length }) // 5
println(names.minOf { it.length }) // 3
val emptyList = emptyList<String>()
// maxOf() and minOf() throw if the collection is empty
// emptyList.maxOf { it.length } // will fail with NoSuchElementException
// emptyList.minOf { it.length } // will fail with NoSuchElementException
// maxOfOrNull() and minOfOrNull() return null if the collection is empty
println(emptyList.maxOfOrNull { it.length }) // null
println(emptyList.minOfOrNull { 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.collections/min-of.html