Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在scala地图中更改关键点最简单的方法是什么?_Scala_Dictionary_Collections - Fatal编程技术网

在scala地图中更改关键点最简单的方法是什么?

在scala地图中更改关键点最简单的方法是什么?,scala,dictionary,collections,Scala,Dictionary,Collections,我有一个mutable.Map,如果该键存在,我需要更改它的键。如果没有,我想添加一个新映射。我的意思是: val m = mutable.HashMap[String, String]() val default = "default" val key = "key_to_change" val newKey = "key_to_set" if(m.contains(key)) { val oldValue = m(key) m remove key m += newK

我有一个
mutable.Map
,如果该键存在,我需要更改它的键。如果没有,我想添加一个新映射。我的意思是:

val m = mutable.HashMap[String, String]()
val default = "default"
val key = "key_to_change"
val newKey = "key_to_set"
if(m.contains(key)) {
    val oldValue = m(key)
    m remove key
    m += newKey -> oldValue
} else m += newKey -> default
我想知道scala是否有更简洁的方式来执行这种“密钥更改”。你能推荐一个更好的解决方案吗?

删除
,所以

删除
,因此

val value = m.remove(key).getOrElse(default)
m += newKey -> value