Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
379 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Функция getOrDefault

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

Синтаксис

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

Параметры

  • key - ключ, по которому осуществляется поиск значения
  • defaultValue - значение, которое возвращается, если ключ не найден

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

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

Пример

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

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

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

Int 2

Пример

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

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

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

Int 0

Пример

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

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

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

String "not found"

Пример

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

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

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

Int 100

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

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

  • Map - интерфейс карты (ассоциативного массива)
  • MutableMap - изменяемая карта
  • HashMap - хэш-карта
  • LinkedHashMap - связанная хэш-карта
  • SortedMap - отсортированная карта
  • TreeMap - древовидная карта

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

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

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