我正在寻找这个问题的惯用解决方案。
我正在构建一个val
Scala ( 不可变的) Map 并希望添加一个或多个项目:
val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else ???))
不使用 a 怎么能做到这一点var
?应该用什么代替???
?使用运算符更好+
吗?
val aMap =
Map(key1 -> value1,
key2 -> value2) +
(if (condition) (key3 -> value3) else ???))
一种可能的解决方案是:
val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else (null, null))).filter {
case (k, v) => k != null && v != null
}
这是最好的方法吗?