null, если коллекция пуста.">
НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
434 of 1310 menu

Функция maxBy

Функция maxBy возвращает первый элемент коллекции, который дает наибольшее значение заданной функции-селектора. Если коллекция пуста, функция возвращает null. Работает с массивами Array, списками List, множествами Set и другими итерируемыми коллекциями.

Синтаксис

inline fun <T, R : Comparable<R>> Array<out T>.maxBy( selector: (T) -> R ): T?
inline fun <T, R : Comparable<R>> Iterable<T>.maxBy( selector: (T) -> R ): T?

Пример

Найдем максимальный элемент в массиве чисел по их абсолютному значению:

val numbers = arrayOf(-10, 5, -15, 8, -3) val res = numbers.maxBy { Math.abs(it) } println(res)

Результат выполнения кода:

Int -15

Пример

Найдем самую длинную строку в списке:

val words = listOf("cat", "elephant", "dog", "mouse") val res = words.maxBy { it.length } println(res)

Результат выполнения кода:

String "elephant"

Пример

Найдем элемент с максимальной суммой цифр в числе:

val numbersSet = setOf(123, 45, 678, 9) val res = numbersSet.maxBy { it.toString().sumOf { digit -> digit.digitToInt() } } println(res)

Результат выполнения кода:

Int 678

Пример

Работа с пустой коллекцией возвращает null:

val emptyList = emptyList<String>() val res = emptyList.maxBy { it.length } println(res)

Результат выполнения кода:

null

Пример

Поиск максимального элемента в массиве символов по их кодовой точке:

val chars = arrayOf('a', 'Z', '0', '9') val res = chars.maxBy { it.code } println(res)

Результат выполнения кода:

Char Z

Смотрите также

  • функцию max,
    которая находит максимальный элемент без преобразования
  • функцию maxOf,
    которая возвращает максимальное значение функции-преобразователя
  • функцию minBy,
    которая находит минимальный элемент по ключу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить