I am getting an exception when I try to remove elements from CopyOnWriteArrayList using an iterator. I have noticed that it is documented
Element-c
If you want to delete all use just clear(). If you want to keep elements put them in a temporary ArrayList and get them back from there.
List tKeepThese= new ArrayList<>(); for(ListIterator tIter = theCopyOnWriteArrayList; tIter.hasNext();) { tObject = tIter.next(); if(condition to keep element) tKeepThese.add(tObject); } theCopyOnWriteArrayList.clear(); theCopyOnWriteArrayList.addAll(tKeepThese);