Stream流处理将两个集合的相同字段,赋值到另一个集合
时间: 2024-03-09 09:46:18 浏览: 161
Java8处理集合的优雅姿势之Stream
5星 · 资源好评率100%
假设有两个类,ClassA和ClassB,都有一个相同的字段field,现在要将这两个类的field字段的值赋值到一个新的类ClassC中,可以使用Java 8中的Stream流处理来实现。具体代码如下:
```java
List<ClassA> listA = new ArrayList<>();
List<ClassB> listB = new ArrayList<>();
// 添加数据到 listA 和 listB 中
List<ClassC> listC = Stream.concat(listA.stream(), listB.stream())
.map(obj -> new ClassC(obj.getField()))
.collect(Collectors.toList());
```
这段代码首先使用Stream.concat()方法将listA和listB合并成一个流,然后使用map()方法将每个对象的field字段值提取出来,再用这些值创建一个新的ClassC对象,并最终使用collect()方法将所有的ClassC对象收集到一个列表中。
阅读全文