Jeg prøver å fjerne noen elementer fra en ArrayList
mens jeg itererer den slik:
for (String str : myArrayList) {
if (someCondition) {
myArrayList.remove(str);
}
}
Selvfølgelig får jeg et ConcurrentModificationException
når jeg prøver å fjerne elementer fra listen samtidig når jeg itererer myArrayList
. Er det noen enkel løsning for å løse dette problemet?
Du må bruke iteratorens remove()-metode, noe som betyr ingen utvidet for-løkke:
for (final Iterator iterator = myArrayList.iterator(); iterator.hasNext(); ) {
iterator.next();
if (someCondition) {
iterator.remove();
}
}