Kotlin中的Map分爲:java
只讀Map。
可變的MutableMap(MutableMap、HashMap、LinkedHashMap)。android
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)
打印輸出:web
{0=秦, 1=川, 2=小, 3=將}ruby
建立可變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)
打印輸出:ide
=========向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中全部元素=================== 0
hashMapOf
val mMap = hashMapOf(0 to "秦", 1 to "川", 2 to "小", 3 to "將")
println(mMap)
打印輸出:svg
{0=秦, 1=川, 2=小, 3=將}ui
linkedMapOf
val mMap = linkedMapOf(0 to "秦", 1 to "川", 2 to "小", 3 to "將")
println(mMap)
打印輸出:spa
{0=秦, 1=川, 2=小, 3=將}.net
sortedMapOf
sortedMapOf(vararg pairs: Paircode
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 將
本文分享 CSDN - 秦川小將。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。