使用stream()从列表< x>创建一个列表< y>

nkcskrwz  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(275)

此问题已在此处找到答案

将一种元素类型的列表转换为另一种类型的列表(11个答案)
两小时前关门了。
我正在尝试创建一个 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()执行相同的操作?

ztmd8pv5

ztmd8pv51#

有一个 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());

相关问题