max By Or Null
inline fun <T, R : Comparable<R>> Array<out T>.maxByOrNull(selector: (T) -> R): T?
Content copied to clipboard
inline fun <R : Comparable<R>> ByteArray.maxByOrNull(selector: (Byte) -> R): Byte?
Content copied to clipboard
inline fun <R : Comparable<R>> ShortArray.maxByOrNull(selector: (Short) -> R): Short?
Content copied to clipboard
inline fun <R : Comparable<R>> IntArray.maxByOrNull(selector: (Int) -> R): Int?
Content copied to clipboard
inline fun <R : Comparable<R>> LongArray.maxByOrNull(selector: (Long) -> R): Long?
Content copied to clipboard
inline fun <R : Comparable<R>> FloatArray.maxByOrNull(selector: (Float) -> R): Float?
Content copied to clipboard
inline fun <R : Comparable<R>> DoubleArray.maxByOrNull(selector: (Double) -> R): Double?
Content copied to clipboard
inline fun <R : Comparable<R>> BooleanArray.maxByOrNull(selector: (Boolean) -> R): Boolean?
Content copied to clipboard
inline fun <R : Comparable<R>> CharArray.maxByOrNull(selector: (Char) -> R): Char?
Content copied to clipboard
inline fun <T, R : Comparable<R>> Iterable<T>.maxByOrNull(selector: (T) -> R): T?
Content copied to clipboard
inline fun <R : Comparable<R>> UIntArray.maxByOrNull(selector: (UInt) -> R): UInt?
Content copied to clipboard
inline fun <R : Comparable<R>> ULongArray.maxByOrNull(selector: (ULong) -> R): ULong?
Content copied to clipboard
inline fun <R : Comparable<R>> UByteArray.maxByOrNull(selector: (UByte) -> R): UByte?
Content copied to clipboard
inline fun <R : Comparable<R>> UShortArray.maxByOrNull(selector: (UShort) -> R): UShort?
Content copied to clipboard
Returns the first element yielding the largest value of the given function or null
if there are no elements.
Since Kotlin
1.4
Samples
import samples.*
import kotlin.test.*
fun main() {
//sampleStart
val nameToAge = listOf("Alice" to 42, "Bob" to 28, "Carol" to 51)
val oldestPerson = nameToAge.maxByOrNull { it.second }
assertPrints(oldestPerson, "(Carol, 51)")
val emptyList = emptyList<Pair<String, Int>>()
val emptyMax = emptyList.maxByOrNull { it.second }
assertPrints(emptyMax, "null")
//sampleEnd
}
inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxByOrNull(selector: (Map.Entry<K, V>) -> R): Map.Entry<K, V>?
Content copied to clipboard
Returns the first entry yielding the largest value of the given function or null
if there are no entries.
Since Kotlin
1.4
Samples
import samples.*
import kotlin.test.*
fun main() {
//sampleStart
val nameToAge = listOf("Alice" to 42, "Bob" to 28, "Carol" to 51)
val oldestPerson = nameToAge.maxByOrNull { it.second }
assertPrints(oldestPerson, "(Carol, 51)")
val emptyList = emptyList<Pair<String, Int>>()
val emptyMax = emptyList.maxByOrNull { it.second }
assertPrints(emptyMax, "null")
//sampleEnd
}