遍历集合,对每个项目和 return 作为列表执行操作
Iterate through collection, perform action on each item and return as List
有什么方法可以用 java 8 Stream API 实现吗?
我需要将每个集合项转换为其他类型(dto 映射)并且 return 全部设置为列表...
类似于
Collection<OriginObject> from = response.getContent();
DtoMapper dto = new DtoMapper();
List<DestObject> to = from.stream().forEach(item -> dto.map(item)).collect(Collectors.toList());
public class DtoMapper {
public DestObject map (OriginObject object) {
return //conversion;
}
}
提前致谢
更新 #1:唯一的流对象是 response.getContent()
我认为您在寻找以下内容:
List<SomeObject> result = response.getContent()
.stream()
.map(dto::map)
.collect(Collectors.toList());
// do something with result if you need.
注意forEach
是终端操作。如果你想对每个对象做一些事情(比如打印它),你应该使用它。如果你想继续调用链,也许进一步过滤,或者收集到一个列表中,你应该使用 map
.
有什么方法可以用 java 8 Stream API 实现吗?
我需要将每个集合项转换为其他类型(dto 映射)并且 return 全部设置为列表...
类似于
Collection<OriginObject> from = response.getContent();
DtoMapper dto = new DtoMapper();
List<DestObject> to = from.stream().forEach(item -> dto.map(item)).collect(Collectors.toList());
public class DtoMapper {
public DestObject map (OriginObject object) {
return //conversion;
}
}
提前致谢
更新 #1:唯一的流对象是 response.getContent()
我认为您在寻找以下内容:
List<SomeObject> result = response.getContent()
.stream()
.map(dto::map)
.collect(Collectors.toList());
// do something with result if you need.
注意forEach
是终端操作。如果你想对每个对象做一些事情(比如打印它),你应该使用它。如果你想继续调用链,也许进一步过滤,或者收集到一个列表中,你应该使用 map
.