hashMapOf()是HashMap类的函数。它返回一个具有指定内容的新HashMap。它包含键和值形式的数据对。 HashMap是可变集合,可提供读写函数。
inline fun <K, V> hashMapOf(): HashMap<K, V> (source)
fun <K, V> hashMapOf(vararg pairs: Pair<K, V>): HashMap<K, V> (source)
Function | Description |
---|---|
open fun put(key: K, value: V): V? | 它将指定的键和值放在map中 |
open operator fun get(key: K): V? | 它返回指定键的值;如果map中没有这样的指定键,则返回null。 |
open fun containsKey(key: K): Boolean | 如果map包含指定键,则返回true。 |
open fun containsValue(value: V): Boolean | 如果map将多个键之一映射到指定值,则返回true。 |
open fun clear() | 它将所有元素从map中删除。 |
open fun remove(key: K): V? | 它从映射中删除指定的键及其对应的值 |
HashMap的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("Learnfk", "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
如果它包含HashMap中的提及键,则包含keeryKey()函数返回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("Learnfk", "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 = Learnfk , value = Playing ......stringMap.containsKey("name")....... true
如果它包含HashMap中的提到值,则包含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("Learnfk", "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 = Learnfk , value = Playing .......stringMap.containsValue("Delhi")...... true false
如果contains()函数在HashMap中包含提及键,则返回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("Learnfk", "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 = Learnfk , value = Playing ......stringMap.contains("city")....... true
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("Learnfk", "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 = Learnfk , 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 = Learnfk , value = Playing
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("Learnfk", "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 = Learnfk , 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 = Learnfk , value = Playing
hashMapOf()函数的size属性返回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("Learnfk", "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 = Learnfk , value = Playing .....stringMap.size........ 4 .......stringMap.keys...... [city, name, department, Learnfk]
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("Learnfk", "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 = Learnfk , value = Playing .......stringMap.getValue("department")...... Development .......stringMap.getOrDefault("name", "Default Value")...... Ashu
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("Learnfk", "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 = Learnfk , value = Playing ......stringMap.remove("city")....... Delhi ......traverse stringMap after stringMap.remove("city")....... Key = name , value = Ashu Key = department , value = Development Key = Learnfk , value = Playing
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("Learnfk", "Playing") println("......traverse stringMap.......") for(key in stringMap.keys){ println("Key = ${key} , value = ${stringMap[key]}") } println(".......stringMap.remove(\"Learnfk\",\"Playing\")......") println(stringMap.remove("Learnfk","Playing")) println("......traverse stringMap after stringMap.remove(\"Learnfk\",\"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 = Learnfk , value = Playing .......stringMap.remove("Learnfk","Playing")...... true ......traverse stringMap after stringMap.remove("Learnfk","Playing")....... Key = city , value = Delhi Key = name , value = Ashu Key = department , value = Development
set(key,value)函数用于设置给定键处的给定值(如果存在)。如果该key在HashMap中不存在,它将添加新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("Learnfk", "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 = Learnfk , 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 = Learnfk , value = Playing
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("Learnfk", "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 = Learnfk , value = Playing ......stringMap.clear()....... kotlin.Unit {}
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)