筛选如何将映射添加到Java流的foreach中
我以前写过以下内容:
events.stream()
.map(d -> cli.getItem(d.getValue()))
.map(event -> Report.builder()
.id(event.getId())
.value(event.getValue())
.build())
.filter(r -> !excludesSet.contains(r.value))
.forEach(r -> {
System.out.println(String.format(r.value);
});
getItem
返回Item
在这里,我刚刚将getItem
更新为getItems
,它返回List<Item>
,并希望为每个项目保留一些逻辑。这意味着我需要创建一个foreach
并将原始的map、filter和forEach方法放在 .map(d -> cli.getItem(d.getValue()))
下,我该怎么做呢
谢谢
# 1 楼答案
这是^{} 的一个用例:
flatMap
允许您将流中的每个项映射到多个项