【笔记】Kotlin的映射和Map集合

前言

Kotlin的映射和Map集合学习笔记

映射

创建映射

1
var pair: Pair<键数据类型, 值数据类型> = 键 to 值

Map集合

创建Map集合

创建空Map集合

1
var map: Map<键数据类型, 值数据类型> = emptyMapOf()

创建可变Map集合并添加元素

1
2
3
4
var map: Map<键数据类型, 值数据类型> = mutableMapOf(
键 to 值,
键 to 值,
)

创建只读Map集合并添加元素

1
2
3
4
var map: Map<键数据类型, 值数据类型> = mapOf(
键 to 值,
键 to 值,
)

创建有序Map集合并添加元素

1
2
3
4
var map: Map<键数据类型, 值数据类型> = linkedMapOf(
键 to 值,
键 to 值,
)

创建无序Map集合

1
var map: Map<键数据类型, 值数据类型> = HashMap<>()

创建无序Map集合并添加元素

1
2
3
4
var map: Map<键数据类型, 值数据类型> = hashMapOf(
键 to 值,
键 to 值,
)

创建有序哈希Map集合

1
var map: Map<键数据类型, 值数据类型> = LinkedHashMap<>()

创建自动排序的Map集合并添加元素

1
2
3
4
var map: Map<键数据类型, 值数据类型> = sortedMapOf(
键 to 值,
键 to 值,
)

操作符

获取元素

1
var 变量名 = map[键]

添加或修改元素

1
map[键] = 值

判断是否存在

1
var result = 键 in map

合并Map集合

1
2
3
4
var map1 = mapOf<键数据类型, 值数据类型>()
var map2 = mapOf<键数据类型, 值数据类型>()

var result = map1 + map2
1
2
3
4
var map1 = mapOf<键数据类型, 值数据类型>()
var map2 = mapOf<键数据类型, 值数据类型>()

map1 += map2

删除元素

1
map -= 键
1
map -= listOf(键, 键)

实例属性

获取Map集合的所有键

1
var result = map.keys

获取Map集合的所有值

1
var result = map.values

实例方法

获取值

如果不存在就获取默认值
1
var value = map.getOrDefault(键, 默认值)
如果不存在就添加键值对
1
2
3
var value = map.getOrPut(键) {

}

判断是否存在

1
var result = map.contains(键)
1
var result = map.containsKey(键)
1
var result = map.containsValue(值)

添加或修改元素

1
var result = map.put(键, 值)

合并Map集合

1
2
3
4
var map1 = mapOf<键数据类型, 值数据类型>()
var map2 = mapOf<键数据类型, 值数据类型>()

map1.putAll(map2)

删除元素

1
map.remove(键)
1
map.values.remove(值)

映射键

1
2
3
map.mapKeys {
it.key
}

映射值

1
2
3
map.mapValues {
it.value
}

遍历Map集合

1
2
3
4
for (entry in map) {
println(entry.key)
println(entry.value)
}
1
2
3
4
for ((key, value) in map) {
println(key)
println(value)
}

完成

参考文献

哔哩哔哩——青空の霞光