Rem*_*emo 3 java list java-stream collectors
我有一个产品清单.每种产品都有另一份成分清单.我如何使用Streams来获取所有产品的所有成分列表?
products.stream()
.map(Product::getIngredients())
.filter(i -> !i.isEmpty())
.distinct()
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
就我的代码而言,到目前为止,我只是得到一个包含子列表的列表...
这样做的正确方法是什么?
非常感谢!
只需使用flatMap:
products.stream()
.flatMap(product -> product.getIngredients().stream())
.distinct()
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)