Функция getOrDefault

Функция getOrDefault возвращает значение по указанному ключу, если ключ присутствует в коллекции. Если ключ отсутствует, то возвращается заданное значение по умолчанию. Функция применяется к интерфейсу Map и его реализациям.

Синтаксис

kotlinfun <K, V> Map<K, V>.getOrDefault(key: K, defaultValue: V): V

Параметры

Возвращаемое значение

Значение типа V, соответствующее ключу key, или defaultValue, если ключ не найден.

Пример

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

kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val res = map.getOrDefault("b", 0)
println(res)

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

kotlinInt 2

Пример

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

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

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

kotlinInt 0

Пример

Использование со строковыми значениями:

kotlinval map = mapOf(1 to "apple", 2 to "banana", 3 to "cherry")
val res = map.getOrDefault(5, "not found")
println(res)

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

kotlinString "not found"

Пример

Использование с изменяемой картой MutableMap:

kotlinval mutableMap = mutableMapOf('x' to 10, 'y' to 20, 'z' to 30)
val res = mutableMap.getOrDefault('w', 100)
println(res)

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

kotlinInt 100

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

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

Функция не работает с массивами Array, списками List, множествами Set и другими типами коллекций, кроме карт.

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

  • функцию getOrElse,
    которая возвращает результат лямбда-выражения при отсутствии ключа
  • функцию getOrNull,
    которая возвращает null при отсутствии ключа
  • функцию getValue,
    которая выбрасывает исключение при отсутствии ключа
  • функцию get,
    которая является базовым оператором доступа по ключу