Es mēģinu noņemt dažus elementus no ArrayList
, veicot iterāciju šādi:
for (String str : myArrayList) {
if (someCondition) {
myArrayList.remove(str);
}
}
Protams, es saņemu ConcurrentModificationException
, kad mēģinu no saraksta izņemt elementus, vienlaikus iterējot myArrayList
. Vai ir kāds vienkāršs risinājums, lai atrisinātu šo problēmu?
Jums ir jāizmanto iteratora metode remove(), kas nozīmē, ka nav jāuzlabo for cilpa:
for (final Iterator iterator = myArrayList.iterator(); iterator.hasNext(); ) {
iterator.next();
if (someCondition) {
iterator.remove();
}
}