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

Функция getOrElse

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

Синтаксис

// Для массивов, списков и множеств inline fun <T> Array<out T>.getOrElse( index: Int, defaultValue: (Int) -> T ): T inline fun <T> List<T>.getOrElse( index: Int, defaultValue: (Int) -> T ): T inline fun <T> Set<T>.getOrElse( index: Int, defaultValue: (Int) -> T ): T
// Для отображений (Map) inline fun <K, V> Map<K, V>.getOrElse( key: K, defaultValue: () -> V ): V

Пример

Получение элемента массива по существующему индексу:

val arr = arrayOf('a', 'b', 'c', 'd', 'e') val res = arr.getOrElse(2) { 'z' } println(res)

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

Char 'c'

Пример

Получение элемента массива по несуществующему индексу:

val arr = arrayOf('a', 'b', 'c', 'd', 'e') val res = arr.getOrElse(10) { 'z' } println(res)

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

Char 'z'

Пример

Использование с списками List:

val list = listOf(1, 2, 3, 4, 5) val res = list.getOrElse(3) { -1 } println(res)

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

Int 4

Пример

Использование с отображениями Map:

val map = mapOf("a" to 1, "b" to 2, "c" to 3) val res = map.getOrElse("b") { 0 } println(res)

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

Int 2

Пример

Получение элемента отображения по несуществующему ключу:

val map = mapOf("a" to 1, "b" to 2, "c" to 3) val res = map.getOrElse("x") { 0 } println(res)

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

Int 0

Пример

Использование индекса в лямбда-выражении для возврата значения по умолчанию:

val arr = arrayOf(10, 20, 30) val res = arr.getOrElse(5) { index -> index * 10 } println(res)

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

Int 50

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

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