ArrayList tidak memiliki metode deduplikasi paket. Misalnya, untuk daftar array [2, 5, 2, 3, 2, 4], saya ingin menghapus elemen duplikat di dalamnya.
Saya tidak ingin membuat pernyataan begitu lama, saya juga tidak ingin menggunakan metode loop untuk mendeduplikasi. Kemudian saya pertama -tama dapat mempertimbangkan mengubah daftar array menjadi hashset sementara, dan kemudian mengubah hashset sementara kembali ke daftar array, karena elemen -elemen dalam hashset tidak dapat diulang! Mengenai apa arraylist dan hashset, telah dijelaskan dengan sangat jelas dalam "Penjelasan Rinci Kelas Koleksi di Java", jadi saya tidak akan mengulanginya di sini.
Anda dapat menulis dengan cara ini:
Hashset <Integer> hashset_temp = hashset baru <integer> (arraylist);
arrayList = new ArrayList <Integer> (hashset_temp);
Ini juga dapat ditulis lebih ringkas, dan bahkan variabel hashset_temp sementara tidak diperlukan:
arraylist = new ArrayList <Integer> (hashset baru <Integer> (arraylist));
Setelah itu, elemen arraylist menjadi [2, 3, 4, 5]
Selanjutnya, saya akan berbagi dengan Anda dua cara untuk menghilangkan beban berat dari arraylist
// Ulangi metode satu
Private ArrayList dihapusuplicatenum (daftar arraylist) {list.sort (); untuk (int i = 0; i <list.count-1; i ++) {if (list [i] .equals (daftar [i+1])) {list.removeat (i); // deduplicate item i--; }} daftar pengembalian; } // Ulangi metode dua
Private ArrayList Removesame (Daftar ArrayList) {// Kalimat yang ditulis di atas redundan, ini adalah final untuk (int i = 0; i <list.count - 1; i ++) {for (int j = i+1; j <list.count; j ++) {if (list [i] .equals (list [j]) {if (list [i]. J--; }}} daftar pengembalian; }Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.