Scala - 列表地图转换为地图

时间:2017-03-20 06:52:13

标签: scala

我有下面的地图列表。

  

列表(地图(AAA - > 1111),地图(BBB - > 22222),地图(CCC - > 3333))

我想转换如下

  

地图(AAA-> 111,BBB-> 222,CCC-> 333)

我知道它可以转换为

newmap:map[string, string]
list.foreach( keyValueSet => keyValueSet.foreach( case(key,value) => add on new map)))

但希望将其转换为scalatic(?)方式。

1 个答案:

答案 0 :(得分:2)

简单的flattentoMap可以解决问题:

scala> val listOfMaps = List(Map("AAA" -> 1111), Map("BBB" -> 22222), Map("CCC" -> 3333))
listOfMaps: List[scala.collection.immutable.Map[String,Int]] = List(Map(AAA -> 1111), Map(BBB -> 22222), Map(CCC -> 3333))

scala> val singleMap = listOfMaps.flatten.toMap
singleMap: scala.collection.immutable.Map[String,Int] = Map(AAA -> 1111, BBB -> 22222, CCC -> 3333)