有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用流将列表中的选定元素复制到另一个列表

我有一个包含如下元素的列表:

public class Element1 {
    private Long id;
    private String Uid;
    private Long description;
    private Long number;
}

还有另一个物体,比如:

public class Element2 {
    private Long id;
    private String Uid;
}

我有Element1的列表,想从Element1创建Elements2:

List<Element1> element1List = getElement1List();
List<Element2> element2List = new ArrayList<>();
for(Element1 element1 : element1List) {
    Element2 element2 = new Element2();
    element2.setId(element1.getId());
    element2.setUid(element1.getUid());
    element2List.add(element2);
}

我正在寻找一种更简单的方法,可能是使用stream()。实现这一目标最干净的方法是什么


共 (1) 个答案

  1. # 1 楼答案

    您可以通过stream().map()来实现这一点,但我为Element2类定义了一个构造函数:

    element2List = element1List.stream().map(element -> new Element2(element.getId(), element.getUid())).collect(Collectors.toList());