Kotlin MutableMap 接口

2024年8月29日 | 阅读 8 分钟

Kotlin MutableMap 是集合框架的一个接口,它以键值对的形式保存对象。 MutableMap 接口的值是通过使用它们对应的键来检索的。 键和值可以是不同的对,例如 <Int, Int>、<Int, String>、<Char, String> 等。 MutableMap 的每个键只保存一个值。

要使用 MutableMap 接口,我们需要使用其名为 mutableMapOf()mutableMapOf <k,v>() 的函数。

Kotlin MutableMap 接口声明

MutableMap 的属性

性质描述
abstract val entries: MutableSet<MutableEntry<K, V>>这会返回地图中所有键值对的 MutableSet。
abstract val keys: MutableSet<K>这会返回此地图中 MutableSet 的所有键。
abstract val values: MutableCollection<V>这会返回当前地图中 MutableCollection 的所有值。此集合可能包含重复的值。

Kotlin MutableMap 的函数

函数描述
abstract fun put(key: K, value: V): V?它使用指定的键将给定的值添加到地图中。
abstract fun putAll(from: Map<out K, V>)这会使用来自提到的地图的键/值对更新当前地图。
abstract fun remove(key: K): V?它从地图中删除指定的键及其对应的值。
open fun remove(key: K, value: V): Boolean仅当键值对存在于地图中时,它才会从地图中删除键值实体。
abstract fun clear()此函数用于从地图中删除所有元素。
operator fun <K, V> Map<out K, V>.contains(key: K): Boolean它检查地图中给定的键。
abstract fun containsKey(key: K): Boolean如果地图包含指定的键,则返回 true。
fun <K> Map<out K, *>.containsKey(key: K): Boolean如果地图包含指定的键,则返回 true。
abstract fun containsValue(value: V): Boolean如果地图为给定的值映射一个或多个键,则返回 true。
fun <K, V> Map<K, V>.containsValue(value: V): Boolean如果地图为给定的值映射一个或多个键,则返回 true。
fun <K, V> Map<out K, V>.count(): Int它返回地图实体的总数
operator fun <K, V> Map<out K, V>.get(key: K): V?它返回对应于提到的键的值,如果地图中未找到此类键,则返回 null。
fun <K, V> Map<out K, V>.getOrDefault(
key: K,
defaultValue: V
): V
它返回带有对应提到的键的值,如果地图中没有该键的此类映射,则返回默认值。
fun <K, V> Map<K, V>.getOrElse(
key: K,
defaultValue: () -> V
): V
它返回地图中提到的键的值,如果未找到给定键的此类条目,则返回默认值函数。
fun <K, V> Map<K, V>.getValue(key: K): V它返回与给定键对应的值,或者如果地图中未找到任何键,则抛出异常。

Kotlin MutableMap 示例 - 1 遍历 MutableMap

让我们创建一个示例,使用 mutablemapOf() 函数创建一个 MutableMap 并遍历它。 在此示例中,我们创建了三种不同类型的 MutableMap(MutableMap<Int, String>、MutableMap<String, String> 和 MutableMap<Any, Any>),并使用不同的方式。

输出

.....traverse mutableMap1........
Key = 1, Value = Ashu
Key = 4, Value = Rohan
Key = 2, Value = Ajeet
Key = 3, Value = Vijay
......traverse mutableMap2.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
......traverse mutableMap3......
Key = 1, Value = Ashu
Key = name, Value = Rohsan
Key = 2, Value = 200

Kotlin MutableMap 示例 - 2 put() 和 putAll()

函数 put()putAll() 用于将元素添加到 MutableMap 中。 put() 函数一次添加一个元素,而 putAll() 函数将集合类型的元素添加到 MutableMap 中。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
......traverse mutableMap after mutableMap.putAll(hashMap).......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing

Kotlin MutableMap 示例 - 3 containsKey()

containsKey() 函数用于检查指定的键是否存在于 MutableMap 中。 如果它包含指定的键,则返回 true,否则返回 false。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
......mutableMap.containsKey("city").......
true

Kotlin MutableMap 示例 - 4 containsValue()

containsValue() 函数用于检查指定的值是否存在于 MutableMap 中。 如果地图为给定的值映射一个或多个键,则此函数返回 true,否则返回 false。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
.......mutableMap.containsValue("Delhi")......
true
.......mutableMap.containsValue("Mumbai")......
false

Kotlin MutableMap 示例 - 5 contains()

contains() 函数用于检查 MutableMap 中是否存在指定的键或值。 如果 MutableMap 中存在指定的键或值,则返回 true,否则返回 false。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
......mutableMap.contains("city").......
true

Kotlin MutableMap 示例 - 6 get(key)

get(key) 函数用于检索 MutableMap 中指定键的对应值。 如果 MutableMap 中不存在此类键,则返回 null。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
.......mutableMap.get("department")......
Development

Kotlin MutableMap 示例 - 7 getValue(key)

getValue() 函数用于返回 MutableMap 的指定键的对应值,如果地图中未找到任何键,则抛出异常。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
.......mutableMap.getValue("department")......
Development

Kotlin MutableMap 示例 - 8 getOrDefault()

getOrDefault() 函数返回 MutableMap 的指定键的对应值。 如果 MutableMap 中不存在此类键,则返回默认值。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
.......mutableMap.getOrDefault("name", "Default Value")......
Ashu

Kotlin MutableMap 示例 - 9 count()

count() 函数用于返回 MutableMap 中存在的元素总数。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
.....mutableMap.count()........
4

Kotlin MutableMap 示例 - 10 remove(key) 和 remove(key, value)

remove(key) 函数用于删除与其提到的键对应的值。 而 remove(key, value) 函数删除包含键和值的元素。 remove(key, value) 函数在删除指定的键及其值时返回 true,否则返回 false。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
......mutableMap.remove("city").......
Delhi
.......mutableMap.remove("hobby","Playing")......
true
......traverse mutableMap after remove.......
Key = name, Value = Ashu
Key = department, Value = Development

Kotlin MutableMap 示例 - 11 clear()

clear() 函数用于从 MutableMap 中删除所有元素。 例如

输出

......traverse mutableMap.......
Key = name, Value = Ashu
Key = city, Value = Delhi
Key = department, Value = Development
Key = hobby, Value = Playing
......mutableMap.clear().......
kotlin.Unit
{}

下一个主题Kotlin Set