Класс HashMap

Класс HashMap представляет собой реализацию интерфейса MutableMap с использованием хэш-таблицы для хранения пар ключ-значение. Он обеспечивает константное время выполнения для основных операций: добавления, удаления и поиска элементов. Ключи в HashMap должны быть уникальными.

Импорт

kotlinimport kotlin.collections.HashMap

Синтаксис

kotlinclass HashMap<K, V> : MutableMap<K, V>
kotlinHashMap()
kotlinHashMap(initialCapacity: Int)
kotlinHashMap(original: Map<out K, V>)

Пример

Создадим пустой HashMap для хранения пар String-Int и добавим несколько элементов:

kotlinval map = HashMap<String, Int>()
map["one"] = 1
map["two"] = 2
map["three"] = 3

println(map)

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

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

Пример

Создадим HashMap с начальной емкостью:

kotlinval map = HashMap<String, Double>(20)
map["pi"] = 3.14159
map["e"] = 2.71828

println(map)

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

kotlinHashMap {pi=3.14159, e=2.71828}

Пример

Создадим HashMap из существующей мапы:

kotlinval originalMap = mapOf("a" to 1, "b" to 2, "c" to 3)
val hashMap = HashMap(originalMap)

println(hashMap)

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

kotlinHashMap {a=1, b=2, c=3}

Пример

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

kotlinval map = HashMap<Char, String>()
map['A'] = "Alpha"
map['B'] = "Beta"

val containsA = map.containsKey('A')
val valueB = map['B']

println("Contains A: $containsA")
println("Value for B: $valueB")

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

kotlinContains A: true
Value for B: Beta

Пример

Удалим элемент из HashMap:

kotlinval map = HashMap<String, Int>()
map["first"] = 100
map["second"] = 200
map["third"] = 300

val removedValue = map.remove("second")

println("Removed value: $removedValue")
println("Map after removal: $map")

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

kotlinRemoved value: 200
Map after removal: {first=100, third=300}

Пример

Переберем все элементы HashMap:

kotlinval map = HashMap<Int, String>()
map[1] = "one"
map[2] = "two"
map[3] = "three"

for ((key, value) in map) {
  println("Key: $key, Value: $value")
}

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

kotlinKey: 1, Value: one
Key: 2, Value: two
Key: 3, Value: three

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

  • интерфейс Map,
    который представляет базовый интерфейс для ассоциативных массивов
  • интерфейс MutableMap,
    который представляет изменяемый ассоциативный массив
  • класс LinkedHashMap,
    который сохраняет порядок добавления элементов
  • класс TreeMap,
    который хранит элементы в отсортированном порядке