第1レベルと第2レベルのオブジェクトをストリームに保持したJavaストリームflatMap

furry12:

Java Stream APIを使用して、オブジェクトと同じタイプのオブジェクトのコレクションがネストされている構造をフラット化する方法を知りたいと思っていました。

つまりComponent、型のフィールドを持つクラスがあるということList<Component>です。私がしたいのは、次のコードと同じであるストリームストリームソリューションを見つけることです(すべてのコンポーネントとネストされたサブコンポーネントのリストで終わる必要があります)。

List<Component> components = getComponents(id);
List<Component> componentsAndSubcomponents = new ArrayList<>();
for (Component component : components) {
  componentsAndSubcomponents.add(component);
  componentsAndSubcomponents.addAll(component.getSubComponents());
}
彼らはいた :

あなたは使うことができflatMapStream連結:

List<Component> componentsAndSubcomponents =
    components.stream()
              .flatMap(c -> Stream.concat(Stream.of(c),c.getSubComponents().stream()))
              .collect(Collectors.toList());

これは、それぞれを含むにマップComponentし、その後にサブコンポーネントをすべて続き、これらすべてのをフラットにフラット化し、に収集しますStreamComponentStreamStream<Component>List<Component>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ネストされたフィールドの値でオブジェクトを選択し、第1レベルのフィールドを抽出します

分類Dev

Zendフレームワークとブートストラップを使用して第2レベルのULにCSSクラスを設定します

分類Dev

ラムダを使用して、第2レベルのリスト内のオブジェクトのプロパティでリストをフィルタリングするにはどうすればよいですか?

分類Dev

Androidマルチレベル拡張可能リストビューセット第3レベルの子アイテムがクリックされました

分類Dev

レルムデータベース、クラスの列としてオブジェクトの配列リストを追加します

分類Dev

Java 8ストリーム:マルチレベル/複合オブジェクトの構築

分類Dev

Java 8ストリーム:マルチレベル/複合オブジェクトの構築

分類Dev

第1レベルと第2レベルの配列からIDSのリストを取得する方法-Javascript

分類Dev

設定した時間にゲームレベルでオブジェクトをスポーンします

分類Dev

スキーム:リストの第2レベルでのみ要素を削除する方法は?

分類Dev

ネストされたリピーター-runatサーバータグなしで第3レベルのアイテムにアクセスする方法は?

分類Dev

Java Lambdaで第2レベルのリストを返す

分類Dev

ハイパーリンクにカーソルを合わせたときに、第2レベルのネストされたリストアイテムが表示されないのはなぜですか?

分類Dev

javascriptでネストされたオブジェクトを破棄する| 第2レベルの親オブジェクトと子オブジェクトを分解します

分類Dev

第2レベルのサブドメインを持つiOSユニバーサルリンクはネイティブアプリにディープリンクしませんが、第1レベルのサブドメイン(同じホスト)では正常にディープリンクします

分類Dev

第2レベルのサブドメインを持つiOSユニバーサルリンクはネイティブアプリにディープリンクしませんが、第1レベルのサブドメイン(同じホスト)では正常にディープリンクします

分類Dev

第2レベルのネストサブクエリ内の外部テーブルへのアクセス

分類Dev

複数の第2レベルのオブジェクトにマングースが深く生息している

分類Dev

マングースのディープポピュレーションは、第2レベルの[オブジェクト]になります

分類Dev

特定のレベルでツリー(ネストされたオブジェクト)を要約します

分類Dev

Javaストリーム:flatMapはオブジェクトのストリームを返します

分類Dev

第 1 レベルのオブジェクトのみを取得する

分類Dev

PowershellのForEachオブジェクトで第1レベルを取得する

分類Dev

ストリームを使用してJavaでオブジェクトのコレクションをマップおよびフィルタリングするためのベストプラクティス

分類Dev

1つのレベルのオブジェクトリストからの入力として、親なしでツリー構造を作成します

分類Dev

データコンテキスト内のコンボボックスをクラスの第1レベルのリストにバインドします

分類Dev

Javaストリームを使用した複雑なオブジェクトのグループリスト

分類Dev

既存のオブジェクトをレルムリストに追加します

分類Dev

StripeJSONオブジェクトから第2レベルのデータを取得する方法

Related 関連記事

  1. 1

    ネストされたフィールドの値でオブジェクトを選択し、第1レベルのフィールドを抽出します

  2. 2

    Zendフレームワークとブートストラップを使用して第2レベルのULにCSSクラスを設定します

  3. 3

    ラムダを使用して、第2レベルのリスト内のオブジェクトのプロパティでリストをフィルタリングするにはどうすればよいですか?

  4. 4

    Androidマルチレベル拡張可能リストビューセット第3レベルの子アイテムがクリックされました

  5. 5

    レルムデータベース、クラスの列としてオブジェクトの配列リストを追加します

  6. 6

    Java 8ストリーム:マルチレベル/複合オブジェクトの構築

  7. 7

    Java 8ストリーム:マルチレベル/複合オブジェクトの構築

  8. 8

    第1レベルと第2レベルの配列からIDSのリストを取得する方法-Javascript

  9. 9

    設定した時間にゲームレベルでオブジェクトをスポーンします

  10. 10

    スキーム:リストの第2レベルでのみ要素を削除する方法は?

  11. 11

    ネストされたリピーター-runatサーバータグなしで第3レベルのアイテムにアクセスする方法は?

  12. 12

    Java Lambdaで第2レベルのリストを返す

  13. 13

    ハイパーリンクにカーソルを合わせたときに、第2レベルのネストされたリストアイテムが表示されないのはなぜですか?

  14. 14

    javascriptでネストされたオブジェクトを破棄する| 第2レベルの親オブジェクトと子オブジェクトを分解します

  15. 15

    第2レベルのサブドメインを持つiOSユニバーサルリンクはネイティブアプリにディープリンクしませんが、第1レベルのサブドメイン(同じホスト)では正常にディープリンクします

  16. 16

    第2レベルのサブドメインを持つiOSユニバーサルリンクはネイティブアプリにディープリンクしませんが、第1レベルのサブドメイン(同じホスト)では正常にディープリンクします

  17. 17

    第2レベルのネストサブクエリ内の外部テーブルへのアクセス

  18. 18

    複数の第2レベルのオブジェクトにマングースが深く生息している

  19. 19

    マングースのディープポピュレーションは、第2レベルの[オブジェクト]になります

  20. 20

    特定のレベルでツリー(ネストされたオブジェクト)を要約します

  21. 21

    Javaストリーム:flatMapはオブジェクトのストリームを返します

  22. 22

    第 1 レベルのオブジェクトのみを取得する

  23. 23

    PowershellのForEachオブジェクトで第1レベルを取得する

  24. 24

    ストリームを使用してJavaでオブジェクトのコレクションをマップおよびフィルタリングするためのベストプラクティス

  25. 25

    1つのレベルのオブジェクトリストからの入力として、親なしでツリー構造を作成します

  26. 26

    データコンテキスト内のコンボボックスをクラスの第1レベルのリストにバインドします

  27. 27

    Javaストリームを使用した複雑なオブジェクトのグループリスト

  28. 28

    既存のオブジェクトをレルムリストに追加します

  29. 29

    StripeJSONオブジェクトから第2レベルのデータを取得する方法

ホットタグ

アーカイブ