元のリストを変更せずに 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 サイトの他の関連記事を参照してください。