Rumah >Java >javaTutorial >Bagaimana untuk Menggabungkan Senarai dalam Java Tanpa Mengubah Yang Asal?

Bagaimana untuk Menggabungkan Senarai dalam Java Tanpa Mengubah Yang Asal?

Susan Sarandon
Susan Sarandonasal
2024-12-01 05:39:14883semak imbas

How to Concatenate Lists in Java Without Modifying the Originals?

Menyertai Senarai dalam Java Tanpa Mengubah Asal

Di Java, menggabungkan berbilang senarai menjadi senarai baharu adalah tugas biasa. Walau bagaimanapun, pendekatan yang dinyatakan dalam soalan memerlukan pengubahsuaian senarai asal, yang mungkin tidak selalu diingini.

Java 8 Stream Concatenation

Java 8 memperkenalkan Stream API , yang menyediakan cara yang lebih ringkas dan tidak berubah untuk memanipulasi koleksi. Untuk penggabungan senarai, anda boleh menggunakan kaedah concat() untuk menggabungkan strim dua senarai:

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

Kaedah ini mencipta senarai baharu tanpa mengubah yang asal, kerana ia beroperasi pada strim yang pada asasnya adalah pembalut koleksi sumber.

Java 16 toList() Penambahbaikan

Dari Java 16 dan seterusnya, pendekatan yang lebih mudah tersedia menggunakan kaedah toList() yang dikemas kini:

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

Ini memudahkan kod dengan menghapuskan keperluan untuk collect() operasi, memperkemas lagi proses penggabungan senarai.

Bonus: JDK 1.3 Versi

Untuk JDK 1.3, anda boleh menggunakan teknik berikut:

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

Kaedah ini mencipta ArrayList baharu dengan saiz yang memuatkan kedua-dua senarai asal, kemudian menambah elemen daripada setiap senarai. Walaupun ia tidak ringkas seperti pendekatan berasaskan Strim, ia masih memberikan hasil yang tidak berubah.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Senarai dalam Java Tanpa Mengubah Yang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn