【问题标题】:How to copy selected elements in a list to another list using stream [duplicate]如何使用流将列表中的选定元素复制到另一个列表[重复]
【发布时间】:2021-02-21 14:35:11
【问题描述】:

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

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()。实现这一目标的最简洁方法是什么?

【问题讨论】:

  • 使用stream().map()

标签: java list


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 2017-11-02
    • 1970-01-01
    • 2012-05-20
    • 2018-01-11
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    相关资源
    最近更新 更多