null, если коллекция пуста.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
menu

Функция maxByOrNull

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

Импорт

import kotlin.collections.maxByOrNull

Синтаксис

// Для Iterable inline fun <T, R : Comparable<R>> Iterable<T>.maxByOrNull( selector: (T) -> R ): T?
// Для Array inline fun <T, R : Comparable<R>> Array<out T>.maxByOrNull( selector: (T) -> R ): T?

Пример

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

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

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

Int -15

Пример

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

val strings = arrayOf("a", "abc", "ab", "abcde", "abcd") val res = strings.maxByOrNull { it.length } println(res)

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

String "abcde"

Пример

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

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

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

null

Пример

Найдем максимальный элемент в множестве по последнему символу строки:

val words = setOf("apple", "banana", "cherry", "date") val res = words.maxByOrNull { it.last() } println(res)

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

String "date"

Поддерживаемые типы коллекций

Функция maxByOrNull доступна для следующих типов коллекций:

  • Array<T>
  • List<T>
  • Set<T>
  • Iterable<T>
  • Sequence<T>
  • Map<K, V> (работает с записями Map.Entry)

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

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