Kotlin MutableMap
是集合框架的接口,它以键和值对的形式保存对象。 通过使用相应的键来检索MutableMap
接口的值。 键和值可以是不同类型的对,例如,
,
等等。
MutableMap
的每个键只保存一个值。
要使用MutableMap
接口,我们需要使用它的函数:mutableMapOf()
或mutableMapOf ()
。
Kotlin MutableMap接口声明
interface MutableMap : Map (source)
Kotlin
MutableMap属性
属性 | 描述 |
---|---|
MutableSet |
这将返回映射中所有键和值对的MutableSet 。 |
MutableSet |
这将返回此映射中MutableSet 的所有键。 |
MutableCollection |
这将返回当前映射中MutableCollection 的所有值。 此集合可能包含重复值。 |
Kotlin MutableMap的函数
函数 | 描述 |
---|---|
abstract fun put(key: K, value: V): V? |
使用映射中的指定键添加给定值。 |
abstract fun putAll(from: Map) |
使用指定映射中的键/值对更新当前映射。 |
abstract fun remove(key: K): V? |
从映射中删除指定的键及对应的值。 |
open fun remove(key: K, value: V): Boolean |
仅当映射中存在键和值实体时,它才会从映射中删除它们。 |
abstract fun clear() |
此函数用于从映射中删除所有元素。 |
operator fun Map.contains(key: K): Boolean |
它检查映射中是否包含给定键。 |
abstract fun containsKey(key: K): Boolean |
如果map 包含指定的键,则返回true 。 |
fun Map.containsKey(key: K): Boolean |
如果map 包含指定的键,则返回true 。 |
abstract fun containsValue(value: V): Boolean |
如果映射包含给定值的一个或多个键,则返回true 。 |
fun Map.containsValue(value: V): Boolean |
如果映射包含给定值的一个或多个键,则返回true 。 |
fun Map.count(): Int |
它返回映射的项目总数。 |
operator fun Map.get(key: K): V? |
它返回与键对应的值,如果在映射中找不到指定键,则返回null 。 |
fun Map.getOrDefault(key: K, defaultValue: V): V |
它返回带有相应指定键的值,或者如果映射中没有键的映射,则返回默认值。 |
fun Map.getOrElse(key: K, defaultValue: () -> V ): V |
它返回映射中提及键的值,或者如果找不到给定键的此类条目,则返回默认值函数。 |
fun Map.getValue(key: K): V |
它返回与给定键对应的值,如果在映射中找不到键,则抛出异常。 |
Kotlin MutableMap示例 - 1遍历MutableMap
首先创建一个使用mutablemapOf()
函数创建MutableMap
并遍历它的示例。 在这个例子中,使用不同的方式(MutableMap ,MutableMap
和MutableMap )
来创建MutableMap
的三种不同类型。
fun main(args: Array) {
val mutableMap1: MutableMap = mutableMapOf(1 to "Java", 4 to "Ruby", 2 to "Ajax", 3 to "Vivi")
val mutableMap2: MutableMap = mutableMapOf()
mutableMap2.put("name", "Susen")
mutableMap2.put("city", "海口")
mutableMap2.put("department", "研发部")
mutableMap2.put("hobby", "撸代码")
val mutableMap3: MutableMap = mutableMapOf(1 to "Maxsu", "name" to "Ruby", 2 to 200)
println(".....traverse mutableMap1........")
for (key in mutableMap1.keys) {
println("Key = ${key}, Value = ${mutableMap1[key]}")
}
println("......traverse mutableMap2.......")
for (key in mutableMap2.keys) {
println("Key = "+key +", "+"Value = "+mutableMap2[key])
}
println("......traverse mutableMap3......")
for (key in mutableMap3.keys) {
println("Key = ${key}, Value = ${mutableMap3[key]}")
}
}
Kotlin
执行上面示例代码,得到以下结果 -
.....traverse mutableMap1........
Key = 1, Value = Java
Key = 4, Value = Ruby
Key = 2, Value = Ajax
Key = 3, Value = Vivi
......traverse mutableMap2.......
Key = name, Value = Susen
Key = city, Value = 海口
Key = department, Value = 研发部
Key = hobby, Value = 撸代码
......traverse mutableMap3......
Key = 1, Value = Maxsu
Key = name, Value = Ruby
Key = 2, Value = 200
Shell
Kotlin MutableMap示例2 - put()和putAll()函数
put()
和putAll()
函数用于添加MutableMap
中的元素。put()
函数向MutableMap中添加单个元素,putAll()
函数向MutableMap
添加集合类型元素。例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Susen")
mutableMap.put("city", "海口")
val hashMap: HashMap = hashMapOf()
hashMap.put("department", "研发部")
hashMap.put("hobby", "撸代码")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = "+key +", "+"Value = "+mutableMap[key])
}
mutableMap.putAll(hashMap)
println("......traverse mutableMap after mutableMap.putAll(hashMap).......")
for (key in mutableMap.keys) {
println("Key = "+key +", "+"Value = "+mutableMap[key])
}
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Susen
Key = city, Value = 海口
......traverse mutableMap after mutableMap.putAll(hashMap).......
Key = name, Value = Susen
Key = city, Value = 海口
Key = department, Value = 研发部
Key = hobby, Value = 撸代码
Shell
Kotlin MutableMap示例3 - containsKey()函数
containsKey()
函数用于检查MutableMap中是否存在指定的键。 如果它包含指定的键,则返回true
,否则返回false
。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Maxsu")
mutableMap.put("city", "海口")
mutableMap.put("department", "研发部")
mutableMap.put("hobby", "女")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = "+key +", "+"Value = "+mutableMap[key])
}
println("......mutableMap.containsKey(\"city\").......")
println(mutableMap.containsKey("city"))
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = city, Value = 海口
Key = department, Value = 研发部
Key = hobby, Value = 女
......mutableMap.containsKey("city").......
true
Shell
Kotlin MutableMap示例4 - containsValue()函数
containsValue()
函数用于检查MutableMap中是否存在指定的值。 如果映射包含给定的一个或多个值,则此函数返回true
,否则返回false
。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Maxsu")
mutableMap.put("city", "海口")
mutableMap.put("department", "研发部")
mutableMap.put("hobby", "撸代码")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = "+key +", "+"Value = "+mutableMap[key])
}
println(".......mutableMap.containsValue(\"上海\")......")
println(mutableMap.containsValue("上海"))
println(".......mutableMap.containsValue(\"Maxsu\")......")
println(mutableMap.containsValue("Maxsu"))
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = city, Value = 海口
Key = department, Value = 研发部
Key = hobby, Value = 撸代码
.......mutableMap.containsValue("上海")......
false
.......mutableMap.containsValue("Maxsu")......
true
Shell
Kotlin MutableMap示例5 - contains()函数
contains()
函数用于检查MutableMap中是否存在指定的值键。如果指定的键或值存在于MutableMap中,则它将返回true
,否则返回false
。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Susen")
mutableMap.put("city", "Haikou")
mutableMap.put("department", "Development")
mutableMap.put("hobby", "Coding")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = "+key +", "+"Value = "+mutableMap[key])
}
println("......mutableMap.contains(\"city\").......")
println(mutableMap.contains("city"))
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Susen
Key = city, Value = Haikou
Key = department, Value = Development
Key = hobby, Value = Coding
......mutableMap.contains("city").......
true
Shell
Kotlin MutableMap示例6 - get(key)函数
get(key)
函数用于检索MutableMap
中指定键的对应值。如果MutableMap
中没有包含指定键,则返回null
。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Susen")
mutableMap.put("city", "Haikou")
mutableMap.put("department", "Development")
mutableMap.put("hobby", "Coding")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = "+key +", "+"Value = "+mutableMap[key])
}
println(".......mutableMap.get(\"department\")......")
println(mutableMap.get("department"))
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Susen
Key = city, Value = Haikou
Key = department, Value = Development
Key = hobby, Value = Coding
.......mutableMap.get("department")......
Development
Shell
Kotlin MutableMap示例7 - getValue(key)函数
getValue()
函数用于返回MutableMap
的指定键的相应值,如果在map
中找不到键,则抛出异常。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Maxsu")
mutableMap.put("city", "海口")
mutableMap.put("department", "Development")
mutableMap.put("hobby", "撸代码")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = ${key}, Value = ${mutableMap[key]}")
}
println(".......mutableMap.getValue(\"department\")......")
println(mutableMap.getValue("department"))
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = city, Value = 海口
Key = department, Value = Development
Key = hobby, Value = 撸代码
.......mutableMap.getValue("department")......
Development
Shell
Kotlin MutableMap示例8 - getOrDefault()函数
getOrDefault()
函数返回MutableMap
指定键的对应值。 如果MutableMap
中不存在指定的键,则返回默认对应值。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Maxsu")
mutableMap.put("city", "海口")
mutableMap.put("department", "Development")
mutableMap.put("hobby", "撸代码")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = ${key}, Value = ${mutableMap[key]}")
}
println(".......mutableMap.getOrDefault(\"name\", \"Default Value\")......")
println(mutableMap.getOrDefault("name", "default-value"))
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = city, Value = 海口
Key = department, Value = Development
Key = hobby, Value = 撸代码
.......mutableMap.getOrDefault("name", "Default Value")......
Maxsu
Shell
Kotlin MutableMap示例9 - count()函数
count()
函数用于返回MutableMap
中存在的元素总数。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Maxsu")
mutableMap.put("city", "海口")
mutableMap.put("department", "Development")
mutableMap.put("hobby", "撸代码")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = ${key}, Value = ${mutableMap[key]}")
}
println(".....mutableMap.count()........")
println(mutableMap.count())
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = city, Value = 海口
Key = department, Value = Development
Key = hobby, Value = 撸代码
.....mutableMap.count()........
4
Shell
Kotlin MutableMap示例10 - remove(key) 和 remove(key, value)函数
remove(key)
函数用于删除与指定键对应的值。 而remove(key,value)
函数删除包含键和值的元素。 如果成功删除指定的键及其值,则remove(key,value)
函数返回true
,否则返回false
。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Maxsu")
mutableMap.put("city", "海口")
mutableMap.put("department", "Development")
mutableMap.put("hobby", "撸代码")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = ${key}, Value = ${mutableMap[key]}")
}
println("......mutableMap.remove(\"city\").......")
println(mutableMap.remove("city"))
println(".......mutableMap.remove(\"hobby\",\"撸代码\")......")
println(mutableMap.remove("hobby","撸代码"))
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = ${key}, Value = ${mutableMap[key]}")
}
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = city, Value = 海口
Key = department, Value = Development
Key = hobby, Value = 撸代码
......mutableMap.remove("city").......
海口
.......mutableMap.remove("hobby","撸代码")......
true
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = department, Value = Development
Shell
Kotlin MutableMap示例11 - clear()函数
clear()
函数用于从MutableMap
中删除所有元素。 例如:
fun main(args: Array) {
val mutableMap: MutableMap = mutableMapOf()
mutableMap.put("name", "Maxsu")
mutableMap.put("city", "海口")
mutableMap.put("department", "技术部")
mutableMap.put("hobby", "撸代码")
println("......traverse mutableMap.......")
for (key in mutableMap.keys) {
println("Key = ${key}, Value = ${mutableMap[key]}")
}
println("......mutableMap.clear().......")
println(mutableMap.clear())
println(mutableMap)
}
Kotlin
执行上面示例代码,得到以下结果 -
......traverse mutableMap.......
Key = name, Value = Maxsu
Key = city, Value = 海口
Key = department, Value = 技术部
Key = hobby, Value = 撸代码
......mutableMap.clear().......
kotlin.Unit
{}
//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/kotlin/kotlin-mutablemap.html#article-start