怎么做自己地网站,2021建站公司,山东嘉祥做网站的有哪几家,网站logo下载在 Kotlin 中#xff0c;Map 是一种键值对的集合数据结构#xff0c;用于存储一组关联的键和值。Kotlin 标准库提供了 Map 接口和多种实现类#xff0c;使得操作和处理键值对数据更加方便。下面详细描述 Kotlin 的 Map 的用法#xff1a;
创建 Map
Kotlin 提供了几种方式…在 Kotlin 中Map 是一种键值对的集合数据结构用于存储一组关联的键和值。Kotlin 标准库提供了 Map 接口和多种实现类使得操作和处理键值对数据更加方便。下面详细描述 Kotlin 的 Map 的用法
创建 Map
Kotlin 提供了几种方式来创建 Map
使用 mapOf() 函数创建具有指定内容的只读映射并以成对的列表的形式给出其中第一个值为键第二个为值。
val map: MapString, Int mapOf(one to 1, two to 2, three to 3)使用 mutableMapOf() 函数创建可变映射
val mutableMap: MutableMapString, String mutableMapOf(apple to red, banana to yellow)基本操作
获取值
package com.zetcodefun main() {val items mapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)println(items[Tom])println(items.getValue(Tom))println(items.get(Tom))println(items.getOrDefault(Tom, 0))println(items.getOrDefault(Tom, 0))val nOfPencils items.getOrElse(Tom, { 0 })println(nOfPencils)
}获取大小 val items mapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)println(${items.size},${items.count()})获取所有元素键值 val items mapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)println(${items.entries},${items.keys},${items.values})判断是否包含键 val items mapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)println(Lisa in items)containsKey()检查映射是否包含密钥,containsValue()检查映射是否包含值 val items mapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)println(items.containsKey(Lisa))可变映射特有操作
添加或修改键值对 val items mutableMapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)items[Lisa]20items[Tab]34println(items.entries)删除键值对
items.remove(apple)清空map
items.clear()Map遍历 val items mapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)for ((k,v) in items){println($k,$v)}items.forEach{(k,v)-println($k,$v)}Map 扩展函数
Kotlin 标准库提供了丰富的扩展函数来操作 Map如 filterKeys、filterValues、mapValues、keys 等。 val items mapOf(Lisa to 12, Tom to 45, Bob to 33, Lili to 2)val mappedMap items.mapValues { it.value * 2 }println(mappedMap)val filtered items.filterKeys { it Lisa || it Tom }println(filtered)val filtered2 items.filterValues { it 70 }println(filtered2)val filtered3 items.filter { it.key Bob || it.value 50 }Map 的实现类 Kotlin 提供了几种 Map 的实现类其中最常用的是 HashMap 和 LinkedHashMap
HashMap无序的键值对集合内部使用哈希表实现适用于快速查找。 LinkedHashMap有序的键值对集合内部使用链表和哈希表实现保持键的插入顺序。 可变 Map 和不可变 Map Kotlin 中的 Map 可以分为可变MutableMap和不可变Map两种类型。可变 Map 允许添加、删除和修改键值对不可变 Map 则不能改变其内容。
val immutableMap: MapString, Int mapOf(one to 1, two to 2)
val mutableMap: MutableMapString, String mutableMapOf(apple to red, banana to yellow)注意事项 Map 中的键是唯一的每个键关联一个值。 不同于列表或集合Map 是一种具有键值对结构的数据类型。 Map 的性能取决于底层数据结构如 HashMap 的查找效率较高。 总之Kotlin 的 Map 是一种用于存储键值对的数据结构提供了丰富的操作和处理功能。通过选择合适的实现类和了解常用操作可以更高效地处理键值对数据。