Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Senarai di Java Semasa Mengekalkan Pesanan?
Mengalih keluar Pendua daripada Senarai
Apabila bekerja dengan senarai dalam Java, anda mungkin perlu mengalih keluar elemen pendua. Satu percubaan biasa melibatkan penggunaan gelung for untuk menyemak sama ada setiap elemen sudah ada dalam senarai sebelum menambahkannya. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap dan terdedah kepada ralat.
Isu:
Anda menyifatkan menghadapi masalah apabila cuba mengalih keluar pendua daripada senarai objek Pelanggan. Kod anda menggunakan gelung for untuk menyemak sama ada pelanggan belum ada dalam senarai sebelum menambahkannya.
Penyelesaian:
Penyelesaian yang disediakan menawarkan penyelesaian yang lebih cekap dan pendekatan ringkas untuk mengalih keluar pendua sambil mengekalkan susunan asal senarai. Ia memanfaatkan kelas LinkedHashSet, yang mengekalkan senarai terpaut elemen berdasarkan susunan sisipannya dan mengalih keluar pendua secara automatik.
Menggunakan LinkedHashSet:
Coretan kod berikut menunjukkan cara untuk menggunakan LinkedHashSet untuk mengalih keluar pendua sambil mengekalkan pesanan:
<code class="java">List<Customer> depdupeCustomers = new ArrayList<>(new LinkedHashSet<>(customers));</code>
Barisan ini mencipta LinkedHashSet baharu daripada senarai pelanggan, menghasilkan satu set pelanggan unik. Set itu kemudiannya ditukar kembali kepada senarai tertib (ArrayList).
Mengubah suai Senarai Asal:
Jika anda ingin menukar senarai asal, anda boleh menggunakan kod berikut:
<code class="java">Set<Customer> depdupeCustomers = new LinkedHashSet<>(customers); customers.clear(); customers.addAll(dedupeCustomers);</code>
Kod ini menukar senarai kepada LinkedHashSet, mengalih keluar pendua, mengosongkan senarai asal dan kemudian menambah elemen unik kembali padanya, dengan berkesan mengalih keluar pendua daripada senarai asal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Senarai di Java Semasa Mengekalkan Pesanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!