Функция mapOf

Функция mapOf создает объект типа Map, который представляет собой неизменяемый ассоциативный массив (словарь). В качестве параметров принимает пары ключ-значение, где ключ и значение могут быть любого типа. Возвращает ассоциативный массив, который нельзя изменять после создания.

Импорт

kotlinimport kotlin.collections.mapOf

Синтаксис

kotlinfun <K, V> mapOf(): Map<K, V>
kotlinfun <K, V> mapOf(vararg pairs: Pair<K, V>): Map<K, V>
kotlinfun <K, V> mapOf(pair: Pair<K, V>): Map<K, V>

Пример

Создадим пустой ассоциативный массив:

kotlinval emptyMap: Map<String, Int> = mapOf()
println(emptyMap)

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

kotlin{}

Пример

Создадим ассоциативный массив с одной парой ключ-значение:

kotlinval singleMap: Map<String, Int> = mapOf("age" to 25)
println(singleMap)

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

kotlin{age=25}

Пример

Создадим ассоциативный массив с несколькими парами ключ-значение:

kotlinval userData: Map<String, Any> = mapOf(
  "name" to "John",
  "age" to 30,
  "isActive" to true
)
println(userData)

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

kotlin{name=John, age=30, isActive=true}

Пример

Создадим ассоциативный массив с числовыми ключами:

kotlinval numberMap: Map<Int, String> = mapOf(
  1 to "one",
  2 to "two",
  3 to "three"
)
println(numberMap)

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

kotlin{1=one, 2=two, 3=three}

Пример

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

kotlinval colors: Map<String, String> = mapOf(
  "red" to "#FF0000",
  "green" to "#00FF00",
  "blue" to "#0000FF"
)

val redCode: String? = colors["red"]
println(redCode)

val blackCode: String? = colors["black"]
println(blackCode)

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

kotlin#FF0000
null

Пример

Попробуем изменить созданный ассоциативный массив:

kotlinval immutableMap: Map<String, Int> = mapOf("a" to 1, "b" to 2)

// immutableMap["c"] = 3 // Ошибка компиляции
// immutableMap.remove("a") // Ошибка компиляции

println(immutableMap)

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

kotlin{a=1, b=2}

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

  • функцию mutableMapOf,
    которая создает изменяемый ассоциативный массив
  • функцию emptyMap,
    которая создает пустой неизменяемый ассоциативный массив
  • функцию hashMapOf,
    которая создает изменяемый ассоциативный массив на основе хэш-таблицы
  • функцию linkedMapOf,
    которая создает изменяемый ассоциативный массив с сохранением порядка элементов