无涯教程-Kotlin - HashMapOf()

17 阅读6分钟

hashMapOf()是HashMap类的函数。它返回一个具有指定内容的新HashMap。它包含键和值形式的数据对。 HashMap是可变集合,可提供读写函数。

hashMapOf()语法

inline fun <K, V> hashMapOf(): HashMap<K, V> (source)
fun <K, V> hashMapOf(vararg pairs: Pair<K, V>): HashMap<K, V> (source)

HashMap函数

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? 它从映射中删除指定的键及其对应的值

示例1

HashMap的hashMapOf()函数可以声明为不同的通用类型,例如hashMapOf <Int,String>(),hashMapOf <String,String>(),hashMapOf <Any,Any>()等。

fun main(args: Array<String>){
val intMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">Int</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">Int</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;(</span><span class="lit">1</span><span class="pln"> to </span><span class="str">"Ashu"</span><span class="pun">,</span><span class="lit">4</span><span class="pln"> to </span><span class="str">"Rohan"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> to </span><span class="str">"Ajeet"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pln"> to </span><span class="str">"Vijay"</span><span class="pun">)</span><span class="pln">

val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;(</span><span class="str">"name"</span><span class="pln"> to </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">
val anyMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">Any</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Any</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">Any</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Any</span><span class="pun">&gt;(</span><span class="lit">1</span><span class="pln"> to </span><span class="str">"Ashu"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> to </span><span class="str">"Rohsan"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> to </span><span class="lit">200</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="str">".....traverse intMap........"</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> intMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="pln">intMap</span><span class="pun">[</span><span class="pln">key</span><span class="pun">])</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">[</span><span class="pln">key</span><span class="pun">])</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
println</span><span class="pun">(</span><span class="str">"......traverse anyMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> anyMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="pln">anyMap</span><span class="pun">[</span><span class="pln">key</span><span class="pun">])</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出:

.....traverse intMap........
Ashu
Ajeet
Vijay
Rohan
......traverse stringMap.......
Ashu
Development
Delhi
Playing
......traverse anyMap.......
Rohsan
Ashu
200

示例2 - containsKey()

如果它包含HashMap中的提及键,则包含keeryKey()函数返回true,否则返回false。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......stringMap.containsKey(\"name\")......."</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">containsKey</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">))</span><span class="pln">

}

输出:

......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = Learnfk , value = Playing
......stringMap.containsKey("name").......
true

示例3 - containtValue()

如果它包含HashMap中的提到值,则包含Value()函数返回true,否则返回false。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

println</span><span class="pun">(</span><span class="str">".......stringMap.containsValue(\"Delhi\")......"</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">containsValue</span><span class="pun">(</span><span class="str">"Delhi"</span><span class="pun">))</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">containsValue</span><span class="pun">(</span><span class="str">"Mumbai"</span><span class="pun">))</span><span class="pln">

}

输出:

......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = Learnfk , value = Playing
.......stringMap.containsValue("Delhi")......
true
false

示例4 - contains()

如果contains()函数在HashMap中包含提及键,则返回true,否则返回false。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......stringMap.contains(\"city\")......."</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">contains</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">))</span><span class="pln">

}

输出:

......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = Learnfk , value = Playing
......stringMap.contains("city").......
true

示例5 - replace(key, value)

replace(key,value)函数用于用新的指定值替换指定键处的现有值。 replace(key,value)函数返回替换后的值。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......stringMap.replace(\"city\",\"Mumbai\")......."</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">replace</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="str">"Mumbai"</span><span class="pun">))</span><span class="pln">
println</span><span class="pun">(</span><span class="str">"......traverse stringMap after stringMap.replace(\"city\",\"Mumbai\")......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出:

......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

示例6 - replace(key, oldValue, newValue)

replace(key,oldValue,newValue)函数用于用新的指定值替换指定键处的现有旧值。如果将旧值替换为新值,则replace(key,newValue,oldValue)函数返回true,否则返回false。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

println</span><span class="pun">(</span><span class="str">".......stringMap.replace(\"department\", \"Development\",\"Management\")......"</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">replace</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">,</span><span class="str">"Management"</span><span class="pun">))</span><span class="pln">
println</span><span class="pun">(</span><span class="str">"......traverse stringMap after stringMap.replace(\"department\", \"Development\",\"Management\")......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出:

......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

示例7 - hashMapOf().size, hashMapOf().key

hashMapOf()函数的size属性返回HashMap的总大小,而key属性返回HashMap的所有键。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

println</span><span class="pun">(</span><span class="str">".....stringMap.size........"</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">size</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">".......stringMap.keys......"</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">)</span><span class="pln">

}

输出:

......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]

示例8 - getValue(key), getOrDefault(key, defaultValue)

getValue()函数返回HashMap的指定键的值。如果getOrDefault()函数返回指定键的对应值(如果该键存在于HashMap中),则返回指定的默认值(如果该键不存在于HashMap中)。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

println</span><span class="pun">(</span><span class="str">".......stringMap.getValue(\"department\")......"</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">getValue</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">))</span><span class="pln">

println</span><span class="pun">(</span><span class="str">".......stringMap.getOrDefault(\"name\", \"Default Value\")......"</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">getOrDefault</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Default Value"</span><span class="pun">))</span><span class="pln">

}

输出:

......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

示例9 - remove(key)

remove(key)函数用于删除指定的键以及其对应的值。 remove(key)函数返回删除的值。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

    println</span><span class="pun">(</span><span class="str">"......stringMap.remove(\"city\")......."</span><span class="pun">)</span><span class="pln">
    println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="kwd">remove</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">))</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"......traverse stringMap after stringMap.remove(\"city\")......."</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出:

......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

例10 - remove(key, value)

remove(key,value)函数用于删除指定的键及其对应的值。如果remove(key,value)函数将指定的键及其值一起移除,则返回true,否则返回false。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">".......stringMap.remove(\"Learnfk\",\"Playing\")......"</span><span class="pun">)</span><span class="pln">
    println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="kwd">remove</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="str">"Playing"</span><span class="pun">))</span><span class="pln">
println</span><span class="pun">(</span><span class="str">"......traverse stringMap after stringMap.remove(\"Learnfk\",\"Playing\")......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出:

......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

例11 - set(key, value)

set(key,value)函数用于设置给定键处的给定值(如果存在)。如果该key在HashMap中不存在,它将添加新key设置与之对应的给定值。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

stringMap</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="str">"Ashutosh"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="str">"skill"</span><span class="pun">,</span><span class="str">"Kotlin"</span><span class="pun">)</span><span class="pln">
println</span><span class="pun">(</span><span class="str">"......traverse stringMap after stringMap.set(\"name\",\"Ashutosh\") and   stringMap.set(\"skill\",\"Kotlin\")......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出:

......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

例12 - clear()

clear()函数用于清除从HashMap清除所有键值对。

fun main(args: Array<String>){
val stringMap</span><span class="pun">:</span><span class="pln"> </span><span class="typ">HashMap</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hashMapOf</span><span class="pun">&lt;</span><span class="typ">String</span><span class="pun">,</span><span class="typ">String</span><span class="pun">&gt;()</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"name"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ashu"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"city"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Delhi"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"department"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Development"</span><span class="pun">)</span><span class="pln">
stringMap</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"Learnfk"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Playing"</span><span class="pun">)</span><span class="pln">

println</span><span class="pun">(</span><span class="str">"......traverse stringMap......."</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">key </span><span class="kwd">in</span><span class="pln"> stringMap</span><span class="pun">.</span><span class="pln">keys</span><span class="pun">){</span><span class="pln">
    println</span><span class="pun">(</span><span class="str">"Key = ${key} , value = ${stringMap[key]}"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

    println</span><span class="pun">(</span><span class="str">"......stringMap.clear()......."</span><span class="pun">)</span><span class="pln">
    println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">.</span><span class="pln">clear</span><span class="pun">())</span><span class="pln">
    println</span><span class="pun">(</span><span class="pln">stringMap</span><span class="pun">)</span><span class="pln">

}

输出:

......traverse stringMap.......
Key = city , value = Delhi
Key = name , value = Ashu
Key = department , value = Development
Key = Learnfk , value = Playing
......stringMap.clear().......
kotlin.Unit
{}

参考链接

www.learnfk.com/kotlin/kotl…