美文网首页kotlin
kotlin中的Map集合类

kotlin中的Map集合类

作者: KingWorld | 来源:发表于2021-12-15 16:37 被阅读0次

Kotlin中的Map分为:

只读Map。
可变的MutableMap(MutableMap、HashMap、LinkedHashMap)。

Map源码:

private object EmptyMap : Map<Any?, Nothing>, Serializable {
    private const val serialVersionUID: Long = 8246714829545688274

    override fun equals(other: Any?): Boolean = other is Map<*,*> && other.isEmpty()
    override fun hashCode(): Int = 0
    override fun toString(): String = "{}"

    override val size: Int get() = 0
    override fun isEmpty(): Boolean = true

    override fun containsKey(key: Any?): Boolean = false
    override fun containsValue(value: Nothing): Boolean = false
    override fun get(key: Any?): Nothing? = null
    override val entries: Set<Map.Entry<Any?, Nothing>> get() = EmptySet
    override val keys: Set<Any?> get() = EmptySet
    override val values: Collection<Nothing> get() = EmptyList

    private fun readResolve(): Any = EmptyMap
}

创建只读Map

val mMap = mapOf(0 to "秦", 1 to "川", 2 to "小", 3 to "将")
println(mMap)

打印输出:

{0=秦, 1=川, 2=小, 3=将}

创建可变Map

mutableMapOf
val mMap = mutableMapOf(0 to "秦", 1 to "川", 2 to "小", 3 to "将")
println("=========向Map中添加元素kotlin,in,android===========")
mMap.put(4, "kotlin")
mMap.put(5, "in")
mMap.put(6, "android")
println(mMap)
println("===========将Map中元素android替换为java=============")
mMap.replace(6, "java")
println(mMap)
println("===========删除Map中元素kotlin,in,java=============")
mMap.remove(4, "kotlin")
mMap.remove(5, "in")
mMap.remove(6, "java")
println(mMap)
println("================清除Map中所有元素===================")
mMap.clear()
println(mMap.size)

打印输出:

=========向Map中添加元素kotlin,in,android===========
{0=秦, 1=川, 2=小, 3=将, 4=kotlin, 5=in, 6=android}
===========将Map中元素android替换为java=============
{0=秦, 1=川, 2=小, 3=将, 4=kotlin, 5=in, 6=java}
===========删除Map中元素kotlin,in,java=============
{0=秦, 1=川, 2=小, 3=将}
================清除Map中所有元素===================

hashMapOf

val mMap = hashMapOf(0 to "秦", 1 to "川", 2 to "小", 3 to "将")
println(mMap)

打印输出:

{0=秦, 1=川, 2=小, 3=将}

linkedMapOf

val mMap = linkedMapOf(0 to "秦", 1 to "川", 2 to "小", 3 to "将")
println(mMap)

打印输出:

{0=秦, 1=川, 2=小, 3=将}

sortedMapOf

sortedMapOf(vararg pairs: Pair
val mMap = sortedMapOf(1 to "川", 3 to "将", 0 to "秦", 2 to "小")
println(mMap)

打印输出:

{0=秦, 1=川, 2=小, 3=将}

遍历Map
使用forEach遍历

val mMap = mutableMapOf(0 to "秦", 1 to "川", 2 to "小", 3 to "将")
mMap.entries.forEach {
    print("" + it.key + "\t" + it.value + "\n")
}

打印输出:

0 秦
1 川
2 小
3 将

相关文章

  • Kotlin——集合

    Kotlin——集合 Kotlin的集合类由两个接口派生:Collection和Map。Collection和Ma...

  • kotlin中的Map集合类

    Kotlin中的Map分为: 只读Map。可变的MutableMap(MutableMap、HashMap、Lin...

  • Kotlin集合——Set集合

    Kotlin的集合类由两个接口派生:Collection和Map。 Kotlin的集合分为两大类:可变集合和不可变...

  • Kotlin 集合

    引言 Kotlin的集合类由两个接口派生:Collection和Map(可以参考kotlin集合派生图),Coll...

  • 四、Kotlin集合

    "集合:List、Set、Map" 集合:List、Set、Map 与大多数语言不同,Kotlin 区分可变集合和...

  • Kotlin基础之容器

    容器 Kotlin有3类基本的容器:集合Set、队列List、映射Map,每类容器又分为只读与可变2中类型,即有6...

  • Java 容器 - 一文详解HashMap

    Map 类集合 Java Map类集合,与Collections类集合存在很大不同。它是与Collection 类...

  • Kotlin高级特性(二)

    一、集合操作符 Kotlin中可以通过集合操作符直接对集合进行操作,从而得到想要的结果。 map:对集合中的数据做...

  • kotlin(五):基本语法之集合

    kotlin中的集合分为两类:可变集合与不可变集合 Iterable接口声明了Kotlin中集合的通用方法,是最基...

  • Kotlin进阶 - 集合

    本篇主要讲述Kotlin集合,主要包括List、Set、Array、Map四类。 一、List篇 1.1 固定长度...

网友评论

    本文标题:kotlin中的Map集合类

    本文链接:https://www.haomeiwen.com/subject/idjpfrtx.html