Cara Mengatasi ConcurrentModificationException Apabila Melintasi dan Mengalih Keluar Elemen daripada ArrayList
Meletup pada ArrayList sambil mengalih keluar elemen secara serentak boleh mencetuskan infamous. util.ConcurrentModificationException. Untuk menangani isu ini, terdapat beberapa amalan terbaik untuk dipertimbangkan.
Salah satu pendekatan ialah membuat senarai berasingan elemen yang ingin anda alih keluar. Semasa lelaran gelung, tambahkan elemen ini pada senarai kedua dan setelah lelaran selesai, panggil kaedah originalList.removeAll(valuesToRemove).
Sebagai alternatif, anda boleh menggunakan kaedah remove() terus pada iterator. Ambil perhatian bahawa teknik ini memerlukan anda menjauhi gelung untuk dipertingkatkan. Contohnya, untuk menghapuskan rentetan yang melebihi panjang 5 daripada senarai:
List<String> list = new ArrayList<String>(); for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); ) { String value = iterator.next(); if (value.length() > 5) { iterator.remove(); } }
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan ConcurrentModificationException Apabila Mengalih Keluar Elemen daripada ArrayList?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!