您可以使用update(key) = value
或remove(key)
操作来更新Map
。但是你能在价值中嵌入所需的操作吗?这就是我目前所做的事情:
map.update(key) = {
case Some(value) => map += key -> value
case None => map -= key
}
我可以简单地写一下map(key) = option
吗?
答案 0 :(得分:2)
如果我理解你的问题:
Some(value)
),则您希望将该值添加到地图中(使用键key
)None
),您想从地图中删除密钥key
它认为可以通过以下方式完成:
val newMap = option.map(value => map + key -> value).getOrElse(map - key)
如果您使用可变地图,则会返回新地图,但不会更新map
值。