Iterable and Iterators
// Reference Collections1 p. 174// throws ConcurrentModificationException
for (Task t : tuesdayTasks) {
if (t instanceof PhoneTask) {
tuesdayTasks.remove(t);
}
}
// throws ConcurrentModificationException
for (Iteratorit = tuesdayTasks.iterator() ; it.hasNext() ; ) {
Task t = it.next();
if (t instanceof PhoneTask) {
tuesdayTasks.remove(t);
}
}
for (Iteratorit = tuesdayTasks.iterator() ; it.hasNext() ; ) {
Task t = it.next();
if (t instanceof PhoneTask) {
it.remove();
}
}
Synchronized Collections
java.util.Collections class
References
Collections1: Java Generics and Collections. Maurice Naftalin and Philip Wadler. O’Reilly Media 2007.