【发布时间】:2015-02-07 20:34:12
【问题描述】:
我知道几个类似的问题。他们对我没有帮助 - 如果没有现有密钥,代码将无法工作。
我只需要一些不错的方法来附加 Map 并将其添加到现有键(如果它确实存在)或作为新键(如果映射不包含适当的键)。
以下代码有效,但我不喜欢它:
val a = collection.mutable.Map(("k1" -> 1), ("k2" -> 5))
val key = "k1"
val elem = a.get(key)
if (elem == None) {
a += ("k5" -> 200)
} else {
a.update(key, elem.get + 5)
}
有什么更好的点吗? 当前的 Scala 版本是 2.10.4,我目前无法切换到 2.11。 可变映射不是 100% 的限制,而是首选。
例如,这里是similar question,但我还需要考虑不存在的不存在密钥的情况。至少我们应该理解a.get(key) 可以是None 或者添加一些更好的方法。 |+| 是个好主意,但我想保留基本的 Scala 2.10.x。
【问题讨论】:
标签: scala dictionary containers