gpt4 book ai didi

kotlin - Kotlin 中的 MutableMap 和 Map 有什么不同?

转载 作者:行者123 更新时间:2023-12-05 02:17:47 26 4
gpt4 key购买 nike

我不明白 Kotlin 中的 MutableMap 和 Map 有什么区别?

以下代码来自 https://github.com/antoniolg/Kotlin-for-Android-Developers/blob/master/app/src/main/java/com/antonioleiva/weatherapp/data/db/DbClasses.kt 上的示例

不知道为什么val map要设计成MutableMap,我觉得应该是Map,因为是数据库表的字段。

你能告诉我为什么 var map 被设计成 MutableMap 吗?

class CityForecast(val map: MutableMap<String, Any?>, val dailyForecast: List<DayForecast>) {
var _id: Long by map
var city: String by map
var country: String by map

constructor(id: Long, city: String, country: String, dailyForecast: List<DayForecast>)
: this(HashMap(), dailyForecast) {
this._id = id
this.city = city
this.country = country
}
}

最佳答案

MutableMapMap 的可变版本, 所以如果你使用 MutableMap可以修改、改变元素值等等

例如:

  1. 向元素添加新值
val person = mutableMapOf("Kelvin" to 19)
person["Kelvin"] = 25
println(person) // {Kelvin=25}
  1. 添加新 key , value与 map 配对
person["angel"] = 17
println(person) // {Kelvin=25, angel=17}
  1. 从 map 中删除元素
person.remove("Kelvin")
println(person) // {angel=17}

如果您使用不可变版本的 map ,即 Map,则无法执行这些操作

关于kotlin - Kotlin 中的 MutableMap 和 Map 有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47087823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com