ホームページ >Java >&#&チュートリアル >Java 8 でネストされたリストを効率的にフラット化するにはどうすればよいですか?

Java 8 でネストされたリストを効率的にフラット化するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-20 02:58:09390ブラウズ

How Can I Efficiently Flatten a Nested List in Java 8?

Java 8 でのネストされたリストの平坦化

指定されたリスト>入れ子になっている可能性のあるリストでは、それを 1 つの List にマージする必要が生じる場合があります。元の反復順序が維持されます。 Java 8 でこれを効率的に実現するには、次のアプローチを検討してください。

flatMap と Collectors の使用

Java 8 の flatMap 操作の能力を活用して、ネストされたリストをフラット化します。単一ストリーム。このプロセスには、List::stream を使用して各内部リストをストリームに変換し、次に flatMap を使用してそれらをフラット化することが含まれます。

要素の元の順序を保持するには、Collectors.toList() を使用して結果を収集できます。フラット化されたストリームからの新しいリスト。要素の順序が維持されるようにします。

コード例:

List<List<Object>> list = ...; // Initialize your nested list

List<Object> flat = list.stream()
        .flatMap(List::stream)
        .collect(Collectors.toList());

このコードは、最初にネストされたリストをストリームに変換し、 flatMap を使用してそれらを単一のストリームに平坦化し、最後に結果を新しい List に収集します。これは flat と呼ばれ、元のネストされたリストのすべてのオブジェクトが同じ反復順序で含まれます。

以上がJava 8 でネストされたリストを効率的にフラット化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。