【发布时间】:2018-04-25 14:59:41
【问题描述】:
给定以下带有嵌套for 循环的方法:
private Set<PlanningItem> getPlanningItems(Set<JsonNode> nodes) {
Set<PlanningItem> planningItems = new HashSet<>();
for (JsonNode node : nodes) {
for (JsonNode planningItem : node.findPath(PLANNING_ITEMS.getValue())) {
planningItems.add(new PlanningItem(planningItem));
}
}
return planningItems;
}
我已将其转换为嵌套的forEach 方法,如下所示:
private Set<PlanningItem> getPlanningItems(Set<JsonNode> nodes) {
Set<PlanningItem> planningItems = new HashSet<>();
nodes.forEach(node -> node.findPath(PLANNING_ITEMS.getValue()).forEach(planningItem -> planningItems.add(new PlanningItem(planningItem))));
return planningItems;
}
我很好奇这是否可以使用嵌套流来完成,或者考虑到这种简单的结构以及我们正在使用没有内置流方法的JsonNode 集合这一事实,这是否是最佳选择。
【问题讨论】:
-
map函数是要走的路
标签: java foreach java-8 jackson java-stream