//参考: https://www.jianshu.com/p/da5cc9072f1e
fun main() {
// create()
iterator()
}
/**
* 遍历
*/
private fun iterator() {
//创建不可变集合,返回值是Map
val map = mapOf("Java" to 86, "Kotlin" to 92, "Go" to 76)
//遍历Map的key-value对,entries 元素返回key-value对组成的Set
for (en in map.entries) {
println("${en.key}->${en.value}")
}
println("-------------------------------")
map.entries.forEach { en ->
println("${en.key}->${en.value}")
}
println("-------------------------------")
//先遍历Map的key,再通过key获取value
for (key in map.keys) {
println("${key}->${map[key]}")
}
println("-------------------------------")
//直接用for-in循环遍历Map
for ((key, value) in map) {
println("${key}->${value}")
}
println("-------------------------------")
//用Lambda表达式遍历Map
map.forEach { println("${it.key}->${it.value}") }
}
/**
* 创建
*/
private fun create() {
//创建不可变集合,返回值是Map
val map = mapOf("Java" to 86, "Kotlin" to 92, "Go" to 78)
println(map)//按添加顺序排列
println("mapOf的返回对象的实际类型:${map.javaClass}")//LinkedHashMap
//创建可变集合
//可变的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对。
val mutableMap = mutableMapOf("Java" to 86, "Kotlin" to 92, "Go" to 78)
println(mutableMap)//按添加顺序排列
println("mutableMapOf的返回对象的实际类型:${mutableMap.javaClass}")//LinkedHashMap
//创建HashMap集合
val hashMap = hashMapOf("Java" to 86, "Kotlin" to 92, "Go" to 78)
println(hashMap)//不保证排列顺序
println("hashMapOf的返回对象的实际类型:${hashMap.javaClass}")//HashMap
//创建LinkedHashMap
val linkedHashMap = linkedMapOf("Java" to 86, "Kotlin" to 92, "Go" to 78)
println(linkedHashMap)//按添加顺序排列
println("linkedMapOf的返回对象的实际类型:${linkedHashMap.javaClass}")//LinkedHashMap
//创建TreeMap集合
val treeMap = sortedMapOf("Java" to 86, "Kotlin" to 92, "Go" to 78)
println(treeMap)//按key由小到大排列
println("sortedMapOf的返回对象的实际类型:${treeMap.javaClass}")//TreeMap
}
kotlin : map
最新推荐文章于 2023-08-16 00:20:12 发布