max Of With
Начиная с Kotlin: 1.4
inline fun <R> CharSequence.maxOfWith(comparator: Comparator<in R>, selector: (Char) -> R): R
Возвращает наибольшее значение согласно указанному компаратору среди всех значений, полученных функцией селектора, применённой к каждому символу последовательности символов.
Если несколько символов дают максимальное значение, эта функция возвращает первое из этих значений.
Исключения
если последовательность символов пуста.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
data class Book(val title: String, val publishYear: Int, val rating: Double)
// A custom Comparator that orders strings by their length
val lengthComparator = compareBy<String> { it.length }
// The longest and shortest book titles
val books = listOf(
Book("Red Sand", 2004, 3.5),
Book("Silver Bullet", 2009, 4.4),
Book("Clear Water", 2018, 4.1),
Book("Night Sky", 2023, 3.8)
)
println(books.maxOfWith(lengthComparator) { it.title }) // Silver Bullet
println(books.minOfWith(lengthComparator) { it.title }) // Red Sand
val emptyList = listOf<Book>()
// maxOfWith() and minOfWith() throw if the collection is empty
// emptyList.maxOfWith(lengthComparator) { it.title } // will fail with NoSuchElementException
// emptyList.minOfWith(lengthComparator) { it.title } // will fail with NoSuchElementException
// maxOfWithOrNull() and minOfWithOrNull() return null if the collection is empty
println(emptyList.maxOfWithOrNull(lengthComparator) { it.title }) // null
println(emptyList.minOfWithOrNull(lengthComparator) { it.title }) // 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.text/max-of-with.html