What would be a functional way to zip two dictionaries in Scala?

map1 = new HashMap("A"->1,"B"->2)
map2 = new HashMap("B"->22,"D"->4) // B is the only common key

zipper(map1,map2) should give something similar to

 Seq( ("A",1,0), // no A in second map, so third value is zero
      ("B",2,22),
      ("D",0,4)) // no D in first map, so second value is zero 

If not functional, any other style is also appreciated

Edit
Report