Как вызвать завершаемое будущее в цикле и объединить все результаты?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как вызвать завершаемое будущее в цикле и объединить все результаты?

Сообщение Anonymous »

Я пытаюсь добиться чего-то подобного. Это выдуманный пример, выражающий намерение.
Я хочу, чтобы все завершаемые фьючерсы выполнялись, объединяли все свои результаты в один результат и возвращали его. Итак, в приведенном ниже примере коллекция allResults должна содержать строки «один», «два», «три» по 3 раза каждая. Я хочу, чтобы все они работали параллельно, а не последовательно.
Любые указания на то, какой API в завершенном будущем я мог бы использовать для достижения этой цели, были бы очень полезны.
public class Main {

public static void main(String[] args) {
int x = 3;
List allResuts;
for (int i = 0; i < x; i++) {
//call getCompletableFutureResult() and combine all the results
}
}

public static CompletableFuture getCompletableFutureResult() {
return CompletableFuture.supplyAsync(() -> getResult());
}

private static List getResult() {
List list = new ArrayList();
list.add("one");
list.add("two");
list.add("three");
return list;
}
}


Подробнее здесь: https://stackoverflow.com/questions/465 ... he-results
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»