这个问题在这里已有答案:
- Scala: Merge map 9个答案
我想在下面类型的相同键上合并两个不可变映射:
scala.collection.immutable.HashMap [字符串,SEQ [字符串]]
和return类型也应该相同:scala.collection.immutable.HashMap [String,Seq [String]]
例如:
scala> map2
res17: scala.collection.immutable.HashMap[String,Seq[String]] = Map(key1 -> List(value1-2), key2 -> List(value2))
scala> map3
res18: scala.collection.immutable.HashMap[String,Seq[String]] = Map(key1 -> List(value1-3), key3 -> List(value3))
merging above two map should be output to:
Map(key1->List(value1-2,value1-3), key2->List(value2), key3->List(value3))
注意:返回的map应该有一个Seq of String作为一个值而不是Seq of Seq的Seq
1 回答
你可以像这样合并两个 Map :
因为
++
运算符是不可变的,所以将创建一个新的Map
.