[英]I have a nested object structure. I want to create a list of object picking attributes from the nested object using streams in Java
// input
public class A {
int a1;
String a2;
int a3;
String a4;
Object B;
}
public class B {
List<Object> C;
}
public class C {
int c1;
Date d;
List<E> e;
}
public class E {
int e1;
int e2;
}
---------------------------------------
// output
public class H {
int a1;
String a2;
int a3;
String a4;
int c1;
Date d;
int e1;
int e2;
}
上面(對象A)是我擁有的嵌套object的結構。 我想創建一個 Object H 列表,如上所述選擇屬性。 我可以使用傳統的嵌套 for 循環來做到這一點,但最好使用流尋找更優化和更清潔的東西。
function 的輸入將是List<A>
和 output 應該是List<H>
。
Recommend taking a look at some guides or examples for Java stream such as https://mkyong.com/java8/java-8-streams-map-examples/ or https://www.baeldung.com/java-8-streams .
您可以創建一個轉換器 function 並使用 Stream::map()。
public List<H> convert(List<A> listOfA) {
return listOfA.stream().map(this::convert).collect(Collectors.toList());
}
public H convert(A a) {
// Create a new H.
// Extract attributes from A and set in H.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.