Scala 使用两张地图获得第三张地图

使用 scala 2.12 ,将 map1 的值与 map2 的键连接起来得到 map2 的值 不知道如何实现。请帮忙

val t1=Map("K1"->"tempV1" , "K2"->"tempV2" , "K3"-> "tempV3","K4"->"tempV4")
val t2=Map("tempV1"->"V1" , "tempV2"->"V2" , "tempV3"-> "V3","someV4"->"V4")



//expected  
Map("K1"->"V1","K2"->"V2","K3"->"V3")

回答

t1.flatMap{case (k,v) => t2.get(v).map(k -> _)}

或者,等价的表达式:

for {
(k,v1) <- t1
v2     <- t2.get(v1)
} yield (k,v2)

以上是Scala 使用两张地图获得第三张地图的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>