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

MutableMapWithDefault

Интерфейс MutableMapWithDefault расширяет базовый интерфейс MutableMap и добавляет возможность возврата значения по умолчанию для ключей, которые отсутствуют в карте. Это позволяет избежать исключений при обращении к несуществующим ключам и предоставляет гибкий механизм обработки отсутствующих значений.

Импорт

import kotlin.collections.MutableMapWithDefault

Синтаксис

interface MutableMapWithDefault<K, V> : MutableMap<K, V>, MapWithDefault<K, V>

Создание MutableMapWithDefault

Для создания изменяемой карты со значением по умолчанию используется функция mutableMapOf с последующим вызовом withDefault:

val map = mutableMapOf("a" to 1, "b" to 2).withDefault { key -> 0 }

Пример

Создадим изменяемую карту со значением по умолчанию 0 и обратимся к существующему и несуществующему ключу:

val map = mutableMapOf("a" to 1, "b" to 2).withDefault { 0 } println(map.getValue("a")) println(map.getValue("c"))

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

Int 1 Int 0

Пример

Добавим новый элемент в изменяемую карту со значением по умолчанию:

val map = mutableMapOf("a" to 1).withDefault { 0 } map["b"] = 2 println(map.getValue("b")) println(map.getValue("c"))

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

Int 2 Int 0

Пример

Использование сложной логики для генерации значения по умолчанию:

val map = mutableMapOf(1 to "apple", 2 to "banana") .withDefault { key -> "unknown_$key" } println(map.getValue(3)) println(map.getValue(5))

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

String "unknown_3" String "unknown_5"

Пример

Удаление элемента из изменяемой карты со значением по умолчанию:

val map = mutableMapOf("a" to 1, "b" to 2, "c" to 3).withDefault { 0 } map.remove("b") println(map.getValue("a")) println(map.getValue("b"))

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

Int 1 Int 0

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

  • интерфейс Map,
    базовый интерфейс для неизменяемых карт
  • интерфейс MutableMap,
    интерфейс для изменяемых карт
  • интерфейс MapWithDefault,
    интерфейс для неизменяемых карт со значением по умолчанию
  • класс HashMap,
    реализация хэш-карты в Kotlin
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить