sat*_*nan 0 java foreach java-8 java-stream
我试图使用 Java1.8 使用 help Stream 函数将下面的 for 循环转换为 forEach 方法,但我很困惑,也很困惑这样做。
List<A> valueList = new ArrayList<>();
List<B> responseList = getResponses();
List<A> value = new ArrayList<>();
for (B getResponse: responseList) {
valueList = getValues(getResponse);
value.addAll(valueList);
}
Run Code Online (Sandbox Code Playgroud)
对于流,您通常希望避免创建空列表然后添加项目。流应该使用函数式习惯用法并尽可能避免副作用。最好将流作为一个整体进行处理,然后将结果“收集”到最后的列表中。
List<C> value = getResponses().stream()
.flatMap(r -> getValues(r).stream())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6008 次 |
| 最近记录: |