Java 8 имеет функцию CompletableFuture.allOf(CompletableFuture<?>...cfs), которая возвращает CompletableFuture, которая завершается, когда все заданные фьючерсы завершаются.
Однако, я почти всегда не имею дело с массивом CompletableFuture s, но вместо этого имеет List<CompletableFuture>. Конечно, я могу использовать метод toArray(), но это заканчивается тем, что вам нужно постоянно конвертировать назад и вперед между массивами и списками.
Было бы неплохо, если бы был гладкий способ получить CompletableFuture<List<T>> в обмен на List<CompletableFuture<T>>, а не постоянно бросать в создание промежуточного массива. Кто-нибудь знает способ сделать это в Java 8?