Rumah >Java >javaTutorial >Bagaimana untuk Mengelakkan ConcurrentModificationException Apabila Mengalih Keluar daripada ArrayList Semasa Lelaran?
Mengelakkan "ConcurrentModificationException" Apabila Mengalih Keluar Elemen daripada ArrayList Semasa Lelaran
Apabila cuba mengalih keluar elemen daripada ArrayList semasa lelaran, seperti berikut contoh:
for (String str : myArrayList) { if (someCondition) { myArrayList.remove(str); } }
kemungkinan akan menghadapi a "ConcurrentModificationException." Ini berlaku kerana ArrayList diubah suai semasa lelaran, yang melanggar sifat fail-fast.
Penyelesaian: Menggunakan Iterator
Untuk mengelakkan pengecualian ini, gunakan Iterator dan panggil kaedah remove():
Iterator<String> iter = myArrayList.iterator(); while (iter.hasNext()) { String str = iter.next(); if (someCondition) iter.remove(); }
Dengan menggunakan Iterator, pengubahsuaian ArrayList semasa lelaran dikendalikan secara dalaman, memastikan pengecualian tidak dilemparkan.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan ConcurrentModificationException Apabila Mengalih Keluar daripada ArrayList Semasa Lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!