ホームページ >Java >&#&チュートリアル >元のリストを変更せずにJavaでリストを連結するにはどうすればよいですか?

元のリストを変更せずにJavaでリストを連結するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-01 05:39:14951ブラウズ

How to Concatenate Lists in Java Without Modifying the Originals?

元のリストを変更せずに Java でリストを結合する

Java では、複数のリストを新しいリストに結合するのが一般的なタスクです。ただし、質問で言及されているアプローチには元のリストの変更が必要であり、これは常に望ましいとは限りません。

Java 8 Stream Concatenation

Java 8 では Stream API が導入されました。 、コレクションを操作するためのより簡潔で不変の方法を提供します。リストの連結の場合、concat() メソッドを使用して 2 つのリストのストリームをマージできます。

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream())
                             .collect(Collectors.toList());

このメソッドは、本質的にラッパーであるストリームを操作するため、元のリストを変更せずに新しいリストを作成します。ソースコレクション。

Java 16 toList()改善

Java 16 以降では、更新された toList() メソッドを使用したより単純なアプローチが利用可能です。

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream()).toList();

これにより、collect() の必要性がなくなり、コードが簡素化されます。

ボーナス: JDK 1.3バージョン

JDK 1.3 の場合、次の手法を使用できます。

List<String> newList = new ArrayList<String>(listOne.size() + listTwo.size());
newList.addAll(listOne);
newList.addAll(listTwo);

このメソッドは、元のリストの両方を収容できるサイズで新しい ArrayList を作成し、次に、その要素を追加します。それぞれのリスト。ストリームベースのアプローチほど簡潔ではありませんが、それでも不変の結果が得られます。

以上が元のリストを変更せずにJavaでリストを連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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