Spec-Zone.ru › Kotlin 2

maxOf

kotlin-stdlib/kotlin.collections/maxOf

Начиная с Kotlin: 1.4

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

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

Если какое-либо из значений, полученных функцией селектором, равно NaN, возвращаемый результат — NaN.

Исключения

NoSuchElementException

если массив пуст.

Примеры

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>.maxOf(selector: (T) -> R): R

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

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

Исключения

NoSuchElementException

если массив пуст.

Примеры

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

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

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

Исключения

NoSuchElementException

если массив пуст.

Примеры

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

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

Если какое-либо из значений, полученных функцией селектором, равно NaN, возвращаемый результат — NaN.

Исключения

NoSuchElementException

если коллекция пуста.

Примеры

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>.maxOf(selector: (T) -> R): R

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

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

Исключения

NoSuchElementException

если коллекция пуста.

Примеры

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

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

Если какое-либо из значений, полученных функцией селектором, равно NaN, возвращаемый результат — NaN.

Исключения

NoSuchElementException

если карта пуста.

Примеры

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>.maxOf(selector: (Map.Entry<K, V>) -> R): R

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

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

Исключения

NoSuchElementException

если карта пуста.

Примеры

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/max-of.html

Spec-Zone.ru

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