我们知道,对集合进行计算,可以使用并行和异步的CompletableFuture操作,都可以加快其处理,那么到底该使用并行还是异步呢?
并行流和CompletableFuture
如上篇博客中所讲到的getPrice()方法,使用并行方式处理,代码如下:
public List<String> findPricesParallel(String product) {
return shops.parallelStream()
.map(shop -> shop.getName() + " price is " + shop.getPrice(product))
.collect(Collectors.toList());
}
使用CompletableFuture操作处理,代码如下所示: