Rumah >Java >javaTutorial >Bagaimana untuk Mengelakkan java.util.ConcurrentModificationException Apabila Mengalih Keluar Elemen daripada ArrayList Semasa Lelaran?
Mengendalikan Pengubahsuaian Serentak dalam Lelaran ArrayList
Apabila melelaran melalui ArrayList dan pada masa yang sama mengalih keluar elemen, anda boleh menemui java.util.ConcurrentModificationException yang digeruni . Untuk menangani isu ini, pertimbangkan strategi berikut:
1. Buat Senarai Alih Keluar
Kekalkan senarai elemen yang berasingan untuk dialih keluar. Semasa lelaran, cuma tambah elemen pada senarai ini dan bukannya mengalih keluarnya terus daripada ArrayList. Setelah lelaran selesai, gunakan kaedah removeAll() untuk mengalih keluar semua elemen terkumpul daripada senarai asal sekaligus. Pendekatan ini memastikan tiada pengubahsuaian berlaku semasa lelaran, mengelakkan ConcurrentModificationException.
2. Gunakan Iterator.remove()
Gunakan kaedah remove() iterator secara langsung. Teknik ini memerlukan penggunaan gelung tradisional dan bukannya gelung untuk dipertingkat. Semasa lelaran, jika anda perlu mengalih keluar elemen, hanya panggil remove() pada iterator semasa. Pendekatan ini mengubah suai senarai asas semasa anda mengulangi, tetapi ia memastikan konsistensi dan menghapuskan isu pengubahsuaian serentak.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan java.util.ConcurrentModificationException Apabila Mengalih Keluar Elemen daripada ArrayList Semasa Lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!