Класс 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,
который хранит элементы в отсортированном порядке