hashMapOf() — это функция класса HashMap в Kotlin. Она возвращает новый HashMap с указанным содержимым. Содержит пары данных в виде ключа и значения. HashMap — это изменяемая коллекция, которая обеспечивает функции чтения и записи.
- Синтаксис функции hashMapOf()
- Функции класса HashMap в Kotlin
- hashMapOf() — Пример 1
- Пример 2 — containsKey()
- Пример 3 — containsValue()
- Пример 4 — contains()
- Пример 5 — replace(key, value)
- Пример 6 — replace(key, oldValue, newValue)
- Пример 7 — hashMapOf().size, hashMapOf().key
- Пример 8 — getValue(key), getOrDefault(key, defaultValue)
- Пример 9 — remove(key)
- Пример 10 — remove(key, value)
- Пример 11 — set(key, value)
- Пример 12 — clear()
Синтаксис функции hashMapOf()
inline fun <K, V> hashMapOf(): HashMap<K, V>(source)
fun <K, V> hashMapOf(vararg pairs: Pair<K, V>): HashMap<K, V>(source)
Функции класса HashMap в Kotlin
| Функция | Описание |
|---|---|
| open fun put(key: K, value: V): V? | Помещает указанный ключ и значение на карту |
| open operator fun get(key: K): V? | Она возвращает значение указанного ключа или ноль, если такой указанный ключ недоступен на карте. |
| open fun containsKey(key: K): Boolean | Возвращает true, если карта содержит указанный ключ. |
| open fun containsValue(value: V): Boolean | Возвращает true, если карта сопоставляет один или несколько ключей с указанным значением. |
| open fun clear() | Она удаляет все элементы с карты. |
| open fun remove(key: K): V? | Удаляет указанный ключ и соответствующее ему значение с карты. |
hashMapOf() — Пример 1
Функция hashMapOf() может быть объявлена как различные общие типы, такие как hashMapOf<Int, String>(), hashMapOf<String, String>(), hashMapOf<Any, Any>() и т. д.
fun main(args: Array<String>){
val intMap: HashMap<Int, String> = hashMapOf<Int,String>(1 to "Ashu",4 to "Rohan", 2 to "Ajeet", 3 to "Vijay")
val stringMap: HashMap<String,String> = hashMapOf<String,String>("name" to "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
val anyMap: HashMap<Any, Any> = hashMapOf<Any, Any>(1 to "Ashu", "name" to "Rohsan", 2 to 200)
println(".....traverse intMap........")
for(key in intMap.keys){
println(intMap[key])
}
println("......traverse stringMap.......")
for(key in stringMap.keys){
println(stringMap[key])
}
println("......traverse anyMap.......")
for(key in anyMap.keys){
println(anyMap[key])
}
}
Выход:
.....traverse intMap........ Ashu Ajeet Vijay Rohan ......traverse stringMap....... Ashu Development Delhi Playing ......traverse anyMap....... Rohsan Ashu 200
Пример 2 — containsKey()
Функция containsKey() возвращает true, если она содержит ключ упоминания в HashMap, в противном случае возвращает false.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println("......stringMap.containsKey(\"name\").......")
println(stringMap.containsKey("name"))
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
......stringMap.containsKey("name").......
true
Пример 3 — containsValue()
Функция containsValue() возвращает true, если она содержит значение упоминания в HashMap, в противном случае возвращает false.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println(".......stringMap.containsValue(\"Delhi\")......")
println(stringMap.containsValue("Delhi"))
println(stringMap.containsValue("Mumbai"))
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
.......stringMap.containsValue("Delhi")......
true
false
Пример 4 — contains()
Функция contains() возвращает true, если она содержит ключ упоминания в HashMap, иначе возвращает false.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println("......stringMap.contains(\"city\").......")
println(stringMap.contains("city"))
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
......stringMap.contains("city").......
true
Пример 5 — replace(key, value)
Функция replace(key, value) используется для замены существующего значения по указанному ключу новым указанным значением. Функция replace(key, value) возвращает замененное значение.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println("......stringMap.replace(\"city\",\"Mumbai\").......")
println(stringMap.replace("city","Mumbai"))
println("......traverse stringMap after stringMap.replace(\"city\",\"Mumbai\").......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
......stringMap.replace("city","Mumbai").......
Delhi
......traverse stringMap after stringMap.replace("city","Mumbai").......
Key = city , value = Mumbai
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
Пример 6 — replace(key, oldValue, newValue)
Функция replace(key, oldValue, newValue) используется для замены существующего старого значения по указанному ключу новым указанным значением. Функция replace(key, newValue, oldValue) возвращает true, если она заменяет старое значение новым, иначе возвращает false.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println(".......stringMap.replace(\"department\", \"Development\",\"Management\")......")
println(stringMap.replace("department", "Development","Management"))
println("......traverse stringMap after stringMap.replace(\"department\", \"Development\",\"Management\").......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
.......stringMap.replace("department", "Development","Management")......
true
......traverse stringMap after stringMap.replace("department", "Development","Management").......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Management
Key = hobby , value = Playing
Пример 7 — hashMapOf().size, hashMapOf().key
Свойство size функции hashMapOf() возвращает общий размер HashMap, а свойство key возвращает все ключи HashMap.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println(".....stringMap.size........")
println(stringMap.size)
println(".......stringMap.keys......")
println(stringMap.keys)
}
Выход:
......traverse stringMap....... Key = city , value = Delhi Key = name , value = Ashu Key = department , value = Development Key = hobby , value = Playing .....stringMap.size........ 4 .......stringMap.keys...... [city, name, department, hobby]
Пример 8 — getValue(key), getOrDefault(key, defaultValue)
Функция getValue() возвращает значение указанного ключа HashMap. Принимая во внимание, что функция getOrDefault() возвращает соответствующее значение указанного ключа, если он существует в HashMap, или возвращает указанное значение по умолчанию, если такого ключа нет в HashMap.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println(".......stringMap.getValue(\"department\")......")
println(stringMap.getValue("department"))
println(".......stringMap.getOrDefault(\"name\", \"Default Value\")......")
println(stringMap.getOrDefault("name", "Default Value"))
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
.......stringMap.getValue("department")......
Development
.......stringMap.getOrDefault("name", "Default Value")......
Ashu
Пример 9 — remove(key)
Функция remove(key) используется для удаления указанного ключа вместе с соответствующим значением. Функция remove(key) возвращает удаленное значение.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println("......stringMap.remove(\"city\").......")
println(stringMap.remove("city"))
println("......traverse stringMap after stringMap.remove(\"city\").......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
......stringMap.remove("city").......
Delhi
......traverse stringMap after stringMap.remove("city").......
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
Пример 10 — remove(key, value)
Функция remove(key, value) используется для удаления указанного ключа вместе с соответствующим значением. Функция remove(key, value) возвращает true, если она удаляет указанный ключ вместе с его значением, иначе возвращает false.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println(".......stringMap.remove(\"hobby\",\"Playing\")......")
println(stringMap.remove("hobby","Playing"))
println("......traverse stringMap after stringMap.remove(\"hobby\",\"Playing\").......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
.......stringMap.remove("hobby","Playing")......
true
......traverse stringMap after stringMap.remove("hobby","Playing").......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Пример 11 — set(key, value)
Функция set(key, value) используется для установки заданного значения по указанному ключу, если он существует. Если ключ не существует в HashMap, он добавит новый ключ и установит соответствующее ему значение.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
stringMap.set("name","Ashutosh")
stringMap.set("skill","Kotlin")
println("......traverse stringMap after stringMap.set(\"name\",\"Ashutosh\") and stringMap.set(\"skill\",\"Kotlin\").......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
......stringMap.set("name","Ashutosh").......
......traverse stringMap after stringMap.set("name","Ashutosh") and stringMap.set("skill","Kotlin").......
Key = city , value = Delhi
Key = skill , value = Kotlin
Key = name , value = Ashutosh
Key = department , value = Development
Key = hobby , value = Playing
Пример 12 — clear()
Функция clear() используется для очистки (или удаления) всей пары ключ-значение из HashMap.
fun main(args: Array<String>){
val stringMap: HashMap<String,String> = hashMapOf<String,String>()
stringMap.put("name", "Ashu")
stringMap.put("city", "Delhi")
stringMap.put("department", "Development")
stringMap.put("hobby", "Playing")
println("......traverse stringMap.......")
for(key in stringMap.keys){
println("Key = ${key} , value = ${stringMap[key]}")
}
println("......stringMap.clear().......")
println(stringMap.clear())
println(stringMap)
}
Выход:
......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = hobby , value = Playing
......stringMap.clear().......
kotlin.Unit
{}
