簡體   English   中英

我有一個嵌套的 object 結構。 我想使用 Java 中的流從嵌套的 object 中創建 object 選擇屬性的列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM