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

Функция maxOf

Функция maxOf возвращает наибольшее значение из двух или более переданных аргументов. Также может использоваться для поиска максимального элемента в коллекциях. Функция работает с различными типами данных, включая числа, строки и пользовательские типы, для которых определен компаратор.

Для каких коллекций работает

Функция maxOf работает со следующими типами коллекций:

  • Array - массивы любых типов
  • List - списки (List, MutableList)
  • Set - множества (Set, MutableSet)
  • Map - словари (только для значений)
  • Iterable - любые итерируемые коллекции
  • Sequence - последовательности

Синтаксис для примитивных типов

fun maxOf(a: Byte, b: Byte): Byte fun maxOf(a: Short, b: Short): Short fun maxOf(a: Int, b: Int): Int fun maxOf(a: Long, b: Long): Long fun maxOf(a: Float, b: Float): Float fun maxOf(a: Double, b: Double): Double

Синтаксис для сравнения нескольких значений

fun <T : Comparable<T>> maxOf(a: T, b: T): T fun <T : Comparable<T>> maxOf(a: T, b: T, c: T): T fun <T : Comparable<T>> maxOf(vararg values: T): T

Синтаксис с компаратором

fun <T> maxOf(a: T, b: T, comparator: Comparator<in T>): T fun <T> maxOf(vararg values: T, comparator: Comparator<in T>): T

Пример

Найдем максимальное число из трех целых чисел:

val a = 5 val b = 12 val c = 8 val res = maxOf(a, b, c) println(res)

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

Int 12

Пример

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

val str1 = "apple" val str2 = "banana" val str3 = "cherry" val res = maxOf(str1, str2, str3) println(res)

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

String "cherry"

Пример

Найдем максимальный элемент в массиве чисел:

val numbers = arrayOf(34, 12, 56, 23, 89) val res = maxOf(*numbers) println(res)

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

Int 89

Пример

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

data class Person(val name: String, val age: Int) val people = listOf( Person("John", 25), Person("Alice", 30), Person("Bob", 22) ) val res = maxOf(people[0], people[1], people[2], compareBy { it.age }) println(res)

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

Person(name=Alice, age=30)

Пример

Найдем максимальное значение в множестве:

val numberSet = setOf(15, 42, 7, 33, 19) val res = maxOf(*numberSet.toTypedArray()) println(res)

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

Int 42

Пример

Найдем максимальное значение среди значений словаря:

val map = mapOf("a" to 10, "b" to 25, "c" to 15) val res = maxOf(*map.values.toTypedArray()) println(res)

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

Int 25

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

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