【发布时间】:2017-09-15 20:59:35
【问题描述】:
我有一些函数返回元组元素列表(Int,Int)和未来。为简单起见,我将定义两个期货
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 已编辑 -> 理解
标签: scala for-comprehension flatmap