0

I have a list that has elements like:

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

and another object like:

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

I have list of Element1 and want to create Elements2 from Element1:

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);
}

I am looking for doing this in a simpler way, maybe using stream(). What is the cleanest way to achieve this?

Jonathan Hagen
  • 580
  • 1
  • 6
  • 29

1 Answers1

1

you can do this just by stream().map() but I defined a constructor for Element2 Class:

element2List = element1List.stream().map(element -> new Element2(element.getId(), element.getUid())).collect(Collectors.toList());
Mustafa Poya
  • 2,615
  • 5
  • 22
  • 36