Класс HashMap
Класс HashMap
представляет собой реализацию интерфейса MutableMap
с использованием хэш-таблицы для хранения пар ключ-значение. Он обеспечивает
константное время выполнения для основных операций: добавления, удаления
и поиска элементов. Ключи в HashMap
должны быть уникальными.
Импорт
import kotlin.collections.HashMap
Синтаксис
class HashMap<K, V> : MutableMap<K, V>
HashMap()
HashMap(initialCapacity: Int)
HashMap(original: Map<out K, V>)
Пример
Создадим пустой HashMap
для хранения пар
String
-Int
и добавим несколько элементов:
val map = HashMap<String, Int>()
map["one"] = 1
map["two"] = 2
map["three"] = 3
println(map)
Результат выполнения кода:
HashMap {one=1, two=2, three=3}
Пример
Создадим HashMap
с начальной емкостью:
val map = HashMap<String, Double>(20)
map["pi"] = 3.14159
map["e"] = 2.71828
println(map)
Результат выполнения кода:
HashMap {pi=3.14159, e=2.71828}
Пример
Создадим HashMap
из существующей мапы:
val originalMap = mapOf("a" to 1, "b" to 2, "c" to 3)
val hashMap = HashMap(originalMap)
println(hashMap)
Результат выполнения кода:
HashMap {a=1, b=2, c=3}
Пример
Проверим наличие ключа и получим значение:
val 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")
Результат выполнения кода:
Contains A: true
Value for B: Beta
Пример
Удалим элемент из HashMap
:
val 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")
Результат выполнения кода:
Removed value: 200
Map after removal: {first=100, third=300}
Пример
Переберем все элементы HashMap
:
val map = HashMap<Int, String>()
map[1] = "one"
map[2] = "two"
map[3] = "three"
for ((key, value) in map) {
println("Key: $key, Value: $value")
}
Результат выполнения кода:
Key: 1, Value: one
Key: 2, Value: two
Key: 3, Value: three
Смотрите также
-
интерфейс
Map
,
который представляет базовый интерфейс для ассоциативных массивов -
интерфейс
MutableMap
,
который представляет изменяемый ассоциативный массив -
класс
LinkedHashMap
,
который сохраняет порядок добавления элементов -
класс
TreeMap
,
который хранит элементы в отсортированном порядке