Javaで2つのArrayListsをマージする方法

Javaで2つのarraylistsを結合した単一のarraylistにマージする方法を学びます。 また、結合されたリストに重複することなくarraylistsを結合する方法も学びます。

Arraylists–Listをマージします。addAll()メソッド

addAll()メソッド別のリストの最後に指定されたコレクション内のすべての要素を追加する最も簡単な方法。 この方法を使用すると、複数のリストを1つのリストにまとめることができます。

プログラム出力。


ヒント : GuavaやApache commons langのようなライブラリを使用してリストをマージする方法は他にもありますが、それらはすべてaddAll()メソッドのみを使用しています。 したがって、この方法を直接使用する方が良いでしょう。

Arraylists–Java8Streamをマージします。flatMap()

Java8streamsは、ほとんどの問題に対する1行の解決策を提供すると同時に、コードはきれいに見えます。 StreamのflatMap()メソッドを使用して、単一のstream内の複数のリストの要素を取得し、stream要素をarraylistに収集することができます。

プログラム出力。


重複のない2つのarraylistをマージする

最初の2つの例では、リストを組み合わせましたが、最終的なリストでは重複した要素がありました。 多くの場合、これは望ましい出力ではないかもしれません。

結合されたリストから重複した要素を差し引いたものを取得するには、次の2つの方法があります:

  1. LinkedHashSetを使用します。 セットでは、一意の要素のみが許可されます。 セット内の両方のリストをプッシュし、セットは結合されたすべての一意の要素のリストを表します。

    要素の順序も保持されるため、LinkedHashSetを使用しています。

  2. これは二段階のプロセスです。 最初のリストのすべての要素を2番目のリストから削除し、最初のリストを2番目のリストに追加します。 これは、重複した要素なしで結合されたリストを使用します。

プログラム出力。


幸せな学習!!

Java ArrayListへのガイド
ArrayList Java Docs

この投稿は役に立ちましたか?

あなたが投稿を好きなら私たちに知らせてください。 それが私たちが改善できる唯一の方法です。
はい
いいえ

コメントを残す

メールアドレスが公開されることはありません。