使用Stream()从List<X>创建一个List<Y>
我正在尝试List<Y>从List<X>. 这是我的两个类:
public class X {
private String a;
private String b;
private String c;
private String d;
//Getters, setters
}
public class Y {
private String a;
private String b;
//Getters, setters
}
对于 forEach,它将类似于:
List<X> listX = getListX();
List<Y> listY = new ArrayList<>();
listX.forEach( x -> {
Y object_y = new Y();
object_y.set_a(x.get_a());
object_y.set_b(x.get_b());
listY.add(object_y);
});
有没有其他方法可以使用 Stream() 执行相同的操作?
回答
有一个map功能:
List<X> listX = getListX();
List<Y> listY = listX.stream().map( x -> {
Y object_y = new Y();
object_y.set_a(x.get_a());
object_y.set_b(x.get_b());
return object_y;
}).collect(Collectors.toList());
THE END
二维码