我有一个包含一些主数据(id->description)的map:瓦尔map 1:Map[String,String] = Map(“001”->“ABCD”,“002”->“MNOP”,“003”->“WXYZ”)
我有另一个包含其他主数据的map(id->description):瓦尔map 2:Map[String,String] = Map(“100”->“Ref 1”,“200”->“Ref 2”,“300”->“Ref 3”)
我有一个结果图如下所示,它是从一些数据集得出的,这些数据集产生了下面的图,其中来自map 1和map 2的id被组合使用来确定密钥,确切地说,这是一个从上述两个图的id分组中得出的图,然后累积数量:
瓦尔map 3:Map[(String,String),Double] = Map((“001”,“200”)->3452.30,(“003”,“300”)->78484.33,(“002”,“777”)-> 893.45)
我需要一个Map输出如下:(“ABCD”,“Ref 2”)->3452.30,(“WXYZ”,“Ref 3”)->78484.33,(“MNOP”,“777”)-> 893.45)
我一直在尝试这个:
val map5 = map3.map(obj => {
(map1 getOrElse(obj._1._1, "noMatchMap1"))
(map2 getOrElse(obj._1._2, "noMatchMap2"))
} match {
case "noMatchMap1" => obj
case "noMatchMap2" => obj
case value => value -> obj._2
})
字符串
1条答案
按热度按时间pcrecxhr1#
应该是这样的:
字符串