ArrayList<Integer> integers = new ArrayList<>(4); List<CompletableFuture<Void>> collect = integers.stream().map(a -> { return CompletableFuture.runAsync(new Runnable() { @Override public void run() { tranferToPdf(); } }, executor); }).collect(Collectors.toList()); for (CompletableFuture<Void> voidCompletableFuture : collect) { voidCompletableFuture.join(); } 简化下这段代码
时间: 2024-02-14 16:26:03 浏览: 80
intent传递ArrayList<T>
你可以使用Lambda表达式和方法引用来简化这段代码。下面是简化后的代码:
```java
ArrayList<Integer> integers = new ArrayList<>(4);
List<CompletableFuture<Void>> collect = integers.stream()
.map(a -> CompletableFuture.runAsync(this::tranferToPdf, executor))
.collect(Collectors.toList());
collect.forEach(CompletableFuture::join);
```
通过使用Lambda表达式 `this::tranferToPdf` 代替匿名内部类,以及使用方法引用 `CompletableFuture::join` 代替foreach循环,可以使代码更加简洁。
阅读全文