我有一些函数返回元组元素(Int,Int)的列表与未来。为了简单起见,我将定义两个期货过滤两个未来[Seq]理解scala
val f1 = Future {
List((8, 3), (2, 1), (4, 2), (3, 4))
}
val f2 = Future {
List((2, 3), (5, 1), (7, 9))
}
我想过滤并从下面的条件中获取这两个未来列表中的元素。
元组包含在第二位置
相同元件在这种情况下输出应该是
List(((2,1),(5,1)), ((8,3),(2,3)))
我可以用正常的列表有用于理解这样做(不期货)象下面
val l1 = List((4, 2), (3, 4), (2, 1), (8, 3))
val l2 = List((2, 3), (5, 1), (7, 9))
val o = for {
a <- l1
b <- l2 if a._2 == b._2
} yield (a, b)
如何做到这一点与期货?
“压缩”? – pedrofurla
@pedrofurla编辑 - >理解 – eranga