让我们考虑一下:
val m: Map[String, List[String]] = Map ( "foo" -> List("one", "two", "three"))
如何将m
的值添加到("foo" -> "four")
以获取Map ( "foo" -> List("one", "two", "three", "four"))
?
答案 0 :(得分:4)
这是一个简单的方法:
m + ("foo" -> (m("foo") :+"four"))
评论中建议的更安全的方法是在您尝试访问getOrElse
时使用m("foo")
。
m + ("foo" -> (m.getOrElse("foo", Nil) :+ "four"))
答案 1 :(得分:3)
不是答案,但在scalaz中存在一些类似的半群操作:
import scalaz._
import Scalaz._
Map ("foo" -> List("one", "two", "three")) |+| Map("foo" -> List("four"))