Spec-Zone.ru › Kotlin 2

minOfOrNull

kotlin-stdlib/kotlin.collections/minOfOrNull

Начиная с Kotlin: 1.4

inline fun <T> Array<out T>.minOfOrNull(selector: (T) -> Double): Double?
inline fun ByteArray.minOfOrNull(selector: (Byte) -> Double): Double?
inline fun ShortArray.minOfOrNull(selector: (Short) -> Double): Double?
inline fun IntArray.minOfOrNull(selector: (Int) -> Double): Double?
inline fun LongArray.minOfOrNull(selector: (Long) -> Double): Double?
inline fun FloatArray.minOfOrNull(selector: (Float) -> Double): Double?
inline fun DoubleArray.minOfOrNull(selector: (Double) -> Double): Double?
inline fun BooleanArray.minOfOrNull(selector: (Boolean) -> Double): Double?
inline fun CharArray.minOfOrNull(selector: (Char) -> Double): Double?
inline fun <T> Array<out T>.minOfOrNull(selector: (T) -> Float): Float?
inline fun ByteArray.minOfOrNull(selector: (Byte) -> Float): Float?
inline fun ShortArray.minOfOrNull(selector: (Short) -> Float): Float?
inline fun IntArray.minOfOrNull(selector: (Int) -> Float): Float?
inline fun LongArray.minOfOrNull(selector: (Long) -> Float): Float?
inline fun FloatArray.minOfOrNull(selector: (Float) -> Float): Float?
inline fun DoubleArray.minOfOrNull(selector: (Double) -> Float): Float?
inline fun BooleanArray.minOfOrNull(selector: (Boolean) -> Float): Float?
inline fun CharArray.minOfOrNull(selector: (Char) -> Float): Float?
@ExperimentalUnsignedTypes
inline fun UIntArray.minOfOrNull(selector: (UInt) -> Double): Double?
@ExperimentalUnsignedTypes
inline fun ULongArray.minOfOrNull(selector: (ULong) -> Double): Double?
@ExperimentalUnsignedTypes
inline fun UByteArray.minOfOrNull(selector: (UByte) -> Double): Double?
@ExperimentalUnsignedTypes
inline fun UShortArray.minOfOrNull(selector: (UShort) -> Double): Double?
@ExperimentalUnsignedTypes
inline fun UIntArray.minOfOrNull(selector: (UInt) -> Float): Float?
@ExperimentalUnsignedTypes
inline fun ULongArray.minOfOrNull(selector: (ULong) -> Float): Float?
@ExperimentalUnsignedTypes
inline fun UByteArray.minOfOrNull(selector: (UByte) -> Float): Float?
@ExperimentalUnsignedTypes
inline fun UShortArray.minOfOrNull(selector: (UShort) -> Float): Float?

Возвращает наименьшее значение среди всех значений, полученных в результате применения функции селектор к каждому элементу массива, или null, если массив пуст.

Если какое-либо из значений, полученных в результате применения функции селектор, равно 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>.minOfOrNull(selector: (T) -> R): R?

Возвращает наименьшее значение среди всех значений, полученных в результате применения функции селектор к каждому элементу массива, или null, если массив пуст.

Если минимальное значение получено для нескольких элементов, функция возвращает первое из этих значений.

Примеры

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.minOfOrNull(selector: (Byte) -> R): R?
inline fun <R : Comparable<R>> ShortArray.minOfOrNull(selector: (Short) -> R): R?
inline fun <R : Comparable<R>> IntArray.minOfOrNull(selector: (Int) -> R): R?
inline fun <R : Comparable<R>> LongArray.minOfOrNull(selector: (Long) -> R): R?
inline fun <R : Comparable<R>> FloatArray.minOfOrNull(selector: (Float) -> R): R?
inline fun <R : Comparable<R>> DoubleArray.minOfOrNull(selector: (Double) -> R): R?
inline fun <R : Comparable<R>> BooleanArray.minOfOrNull(selector: (Boolean) -> R): R?
inline fun <R : Comparable<R>> CharArray.minOfOrNull(selector: (Char) -> R): R?
@ExperimentalUnsignedTypes
inline fun <R : Comparable<R>> UIntArray.minOfOrNull(selector: (UInt) -> R): R?
@ExperimentalUnsignedTypes
inline fun <R : Comparable<R>> ULongArray.minOfOrNull(selector: (ULong) -> R): R?
@ExperimentalUnsignedTypes
inline fun <R : Comparable<R>> UByteArray.minOfOrNull(selector: (UByte) -> R): R?
@ExperimentalUnsignedTypes
inline fun <R : Comparable<R>> UShortArray.minOfOrNull(selector: (UShort) -> R): R?

Возвращает наименьшее значение среди всех значений, полученных в результате применения функции селектор к каждому элементу массива, или null, если массив пуст.

Если минимальное значение получено для нескольких элементов, функция возвращает первое из этих значений.

Примеры

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>.minOfOrNull(selector: (T) -> Double): Double?
inline fun <T> Iterable<T>.minOfOrNull(selector: (T) -> Float): Float?

Возвращает наименьшее значение среди всех значений, полученных в результате применения функции селектор к каждому элементу коллекции, или null, если коллекция пуста.

Если какое-либо из значений, полученных в результате применения функции селектор, равно 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>.minOfOrNull(selector: (T) -> R): R?

Возвращает наименьшее значение среди всех значений, полученных в результате применения функции селектор к каждому элементу коллекции, или null, если коллекция пуста.

Если минимальное значение получено для нескольких элементов, функция возвращает первое из этих значений.

Примеры

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>.minOfOrNull(selector: (Map.Entry<K, V>) -> Double): Double?
inline fun <K, V> Map<out K, V>.minOfOrNull(selector: (Map.Entry<K, V>) -> Float): Float?

Возвращает наименьшее значение среди всех значений, полученных в результате применения функции селектор к каждой записи map, или null, если map пуста.

Если какое-либо из значений, полученных в результате применения функции селектор, равно 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>.minOfOrNull(selector: (Map.Entry<K, V>) -> R): R?

Возвращает наименьшее значение среди всех значений, полученных в результате применения функции селектор к каждой записи map, или null, если map пуста.

Если минимальное значение получено для нескольких записей, функция возвращает первое из этих значений.

Примеры

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-or-null.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API