나는 이와 같은 것을 달성하려고 노력하고있다. 이것은 의도를 표현한 구성 예입니다.루프에서 completable future를 호출하고 모든 결과를 결합하는 방법은 무엇입니까?
모든 완료 가능한 미래를 실행하고 모든 결과를 하나의 결과로 결합하여 반환해야합니다. 따라서 아래 예제에서 컬렉션 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_을 정의하십시오. –