【发布时间】:2018-02-08 11:20:39
【问题描述】:
我有以下地图:
val m: mutable.Map[String, Long] = mutable.Map()
如果它不存在,我想给它一些价值。如果它依次存在,我想执行一些计算:
目前我的做法如下:
val key: String = //...
val value: Long = //...
m(key) = m.getOrElse(key, 0L) + value
但这对我来说有点冗长(在 Java 中我们有 putIfAbsent 方法)。在 Scala 中是否有更短的方法?
【问题讨论】:
-
问题的标题和内容指向一个典型的 XY 问题。当您尝试解决实际问题时,您发现您不需要标题中要求的内容...因此,也许您应该将标题更新为“如果缺少值,则更新默认值在地图中(在 Scala 中)”,或类似的东西。
标签: scala collections