GKV*_*KVM 3 dictionary scala list
我们有两个清单:
val a:List[(String, Int, Int)] = List(("apple", 3, 25),("orange", 4, 47))
val b:List[(String, String)] = List(("mango", "25"),("orange", "50"))
Run Code Online (Sandbox Code Playgroud)
哪个是加入a和b得到的最佳方法:
val c : List[(String, Int, Int, String)] = List(("orange", 4, 47, "50"))
Run Code Online (Sandbox Code Playgroud)
迭代第一个列表并在地图中查找第二个列表的值mb
.将.flatMap
使得进入dissappear,如果.get
回报None
.
val mb = b.toMap
a.flatMap{case (ka,va,vva) => mb.get(ka).map(vb => (ka,va,vva,vb))}
Run Code Online (Sandbox Code Playgroud)