0
我有兩個期貨。 一個未來(idsFuture
)持有計算以獲取id列表。類型的idsFuture
的是Future[List[Int]]
在另一個未來使用價值過濾期貨
另一個未來(dataFuture
)持有的A
陣列,其中A
被定義爲case class A(id: Int, data: String)
。 dataFuture
的類型是未來[數組[A]]
我想篩選dataFuture
使用idsFuture中存在的ID。
對於示例 -
case class A(id: Int, data: String)
val dataFuture = Future(Array(A(1,"a"), A(2,"b"), A(3,"c")))
val idsFuture = Future(List(1,2))
我應該得到另一具有未來陣列((A(1, 「A」),A(2, 「B」))
我目前做
idsFuture.flatMap{
ids => dataFuture.map(datas => datas.filter(data => ids.contains(data.id)))}
有沒有更好的解決辦法?
更好的是什麼意思?您是否認識到您得到的解決方案存在問題? – 2014-10-29 08:02:38