java8的lambda表达式,将List<DTO> 转为 List<DO>
可以使用Java 8的Stream API和lambda表达式将List
List<DTO> dtoList = ...; // 假设已经有一个DTO对象列表
List<DO> doList = dtoList.stream()
.map(dto -> new DO(dto.getId(), dto.getName(), dto.getAge()))
.collect(Collectors.toList());
上述代码中,使用stream()
方法将DTO对象列表转换为一个Stream对象,然后使用map()
方法将每个DTO对象转换为对应的DO对象,并将转换后的DO对象收集到一个新的List中,最后使用collect()
方法完成收集操作。
需要注意的是,这里假设DTO对象和DO对象都有对应的构造函数来接收相应的属性值。如果DTO对象和DO对象的属性名不一致,需要使用其他方式来进行属性转换,例如使用BeanUtils.copyProperties()方法。
java8的lambda表达式,将List<entity> 转为 List<dto>
假设你有以下的实体类 Entity 和数据传输对象 DTO:
class Entity {
private String name;
private int age;
// 省略 getter 和 setter 方法
}
class DTO {
private String name;
private int age;
public DTO(String name, int age) {
this.name = name;
this.age = age;
}
// 省略 getter 和 setter 方法
}
你可以使用 Java 8 的 Lambda 表达式将 List<Entity> 转换为 List<DTO>,示例代码如下:
List<Entity> entityList = new ArrayList<>();
entityList.add(new Entity("Alice", 18));
entityList.add(new Entity("Bob", 20));
List<DTO> dtoList = entityList.stream()
.map(entity -> new DTO(entity.getName(), entity.getAge()))
.collect(Collectors.toList());
以上代码中,首先创建了一个 List<Entity>
对象 entityList
,并向其中添加了两个实体对象。然后使用 entityList.stream()
方法将其转换为一个流对象,使用 map
方法将 Entity
对象映射为 DTO
对象,并使用 collect
方法将 DTO
对象收集到一个新的 List<DTO>
对象 dtoList
中。
值得注意的是,上述代码中使用了构造方法 new DTO(entity.getName(), entity.getAge())
来创建新的 DTO
对象,也可以使用其他方式来创建 DTO
对象,例如使用 DTO
对象的 Builder
模式或者静态工厂方法等。
java开发中,for循环遍历查询数据返回多个list<dto>集合,lambda表达式如何把list<dto>集合结果组合为一个新的集合,不改变每一次循环产生的List<dto>集合的值
假设有如下的for循环代码:
List<List<Dto>> resultList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
List<Dto> dtoList = queryData(i);
resultList.add(dtoList);
}
可以使用lambda表达式将结果组合为一个新的集合,代码如下:
List<Dto> combinedList = resultList.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
解释一下代码:
resultList.stream()
:将resultList
转化为一个Stream
对象。.flatMap(Collection::stream)
:将每个List<Dto>
对象展开成一个个Dto
对象,然后将这些Dto
对象组成一个单独的Stream
对象。.collect(Collectors.toList())
:将Stream
对象中的所有元素收集到一个List
对象中。
这样就可以将多个List<Dto>
对象合并成一个List<Dto>
对象了,同时不会改变每一次循环产生的List<Dto>
对象的值。
相关推荐
















