0

I have List of map like below.

List(Map(AAA -> 1111), Map(BBB -> 22222), Map(CCC -> 3333))

I would like to convert like below

Map( AAA->111, BBB-> 222, CCC->333)

I know it can convert like

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

but want to convert it more scalatic(?) way.

J.Done
  • 2,783
  • 9
  • 31
  • 58

1 Answers1

2

A simple flatten and toMap will do the trick:

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)
Tanjin
  • 2,442
  • 1
  • 13
  • 20