我正試圖實現這樣的事情。這是一個表達意圖的例子。如何在循環中調用可完成的未來併合並所有結果?
我希望所有完整的期貨能夠執行並將所有結果合併到一個結果並返回。因此,對於下面的示例,集合allResults應該包含字符串「one」,「two」,「three」,每個3次。我希望他們都能並行運行而不是連續運行。
任何指向我可以用來實現這一目標的可補充未來的API的指針都是非常有用的。
public class Main {
public static void main(String[] args) {
int x = 3;
List<String> allResuts;
for (int i = 0; i < x; i++) {
//call getCompletableFutureResult() and combine all the results
}
}
public static CompletableFuture<List<String>> getCompletableFutureResult() {
return CompletableFuture.supplyAsync(() -> getResult());
}
private static List<String> getResult() {
List<String> list = new ArrayList<>();
list.add("one");
list.add("two");
list.add("three");
return list;
}
}
定義_combine_。 –