Kotlin 基础——Map集合详解
生活随笔
收集整理的這篇文章主要介紹了
Kotlin 基础——Map集合详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Kotlin基礎——Map集合詳解
- 一、聲明和創建Map集合
- 二、使用Map的方法
- 三、遍歷Map四種方式
- 四、可變的Map
Kotlin的Map集合用于保存key-value對,其也被分為可變的和不可變的。
一、聲明和創建Map集合
Kotlin提供了如下函數來創建Map集合:
- mapOf():該函數返回不可變的Map集合。該函數可接受0個或多個key-value對,這些key-value對將作為Map的元素。
- mutableMapOf():該函數返回可變的MutableMap集合。該函數可接受0個或多個key-value對,這些key-value對將作為Map的元素。
- hashMapOf():該函數返回可變的HashMap集合。該函數可接受0個或多個key-value對,這些key-value對將作為Map的元素。
- linkedMapOf():該函數返回可變的LinkedHashMap集合。該函數可接受0個或多個key-value對,這些key-value對將作為Map的元素。
- sortedMapOf():該函數返回可變的TreeMap集合。該函數可接受0個或多個key-value對,這些key-value對將作為Map的元素。
輸出結果:
{Java=86, Kotlin=92, Go=78} mapOf的返回對象的實際類型:class java.util.LinkedHashMap {Java=86, Kotlin=92, Go=78} mutableMapOf的返回對象的實際類型:class java.util.LinkedHashMap {Go=78, Java=86, Kotlin=92} hashMapOf的返回對象的實際類型:class java.util.HashMap {Java=86, Kotlin=92, Go=78} linkedMapOf的返回對象的實際類型:class java.util.LinkedHashMap {Go=78, Java=86, Kotlin=92} sortedMapOf的返回對象的實際類型:class java.util.TreeMap二、使用Map的方法
//創建不可變集合,返回值是Mapvar map = mapOf("Java" to 86, "Kotlin" to 92, "Go" to 78)//判斷是否所有key-value對的key的長度都大于4,value都大于80println(map.all { it.key.length > 4 && it.value > 80 })//判斷是否任一key-value對的key的長豆都大于4、value都大于80println(map.any { it.key.length > 4 && it.value > 80 })println("Java" in map)println("Go" !in map)//對Map集合元素進行過濾:要求key包含lival filteredMap = map.filter { "li" in it.key }println(filteredMap)//將每個key-value對映射成新值,返回所有新值組成的Map集合val mappedList = map.map { "${it.key}有${it.value}節課" }println(mappedList)//根據key獲取最大值println(map.maxBy { it.key })//根據value獲取最小值println(map.minBy { it.value })var bMap= mapOf("Lua" to 67,"Erlang" to 73,"Kotlin" to 92)//求并集println(map+bMap)//集合相減println(map-bMap)輸出結果:
false true true false {Kotlin=92} [Java有86節課, Kotlin有92節課, Go有78節課] Kotlin=92 Go=78 {Java=86, Kotlin=92, Go=78, Lua=67, Erlang=73} {Java=86, Kotlin=92, Go=78}三、遍歷Map四種方式
Map集合由多個key-value對組成,因此遍歷Map集合時既可以通過對key-value對進行遍歷,也可先遍歷key,再通過key來獲取對應的value進行遍歷。
- 下面是對Map集合遍歷的幾種方式:
輸出結果:
Java->86 Kotlin->92 Go->76Java->86 Kotlin->92 Go->76Java->86 Kotlin->92 Go->76Java->86 Kotlin->92 Go->76四、可變的Map
可變的Map為操作key-value對提供了如下方法:
- clear():清空所有的key-value對。
- put(key:K,value:V):放入key-value對。如果原來已有key,value將被覆蓋。
- putAll(form:Map<out K,V>):批量放入多個key-value對。
- remove(key:K):刪除key-value對。
輸出結果:
{OC=96, PHP=3400, Perl=4300, Ruby=5600, Go=5600, Swift=9000} {OC=8600, PHP=3400, Perl=4300, Ruby=5600, Go=5600, Swift=9000} {OC=8600, Perl=4300, Ruby=5600, Go=5600, Swift=9000} 5 {} 0更多精彩內容請掃碼關注:
總結
以上是生活随笔為你收集整理的Kotlin 基础——Map集合详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Premiere视频制作(手机竖屏)
- 下一篇: 这是浙江大学郑强教授的经典语录 虽然我不