Java - adding elements to list while iterating over it

arraylist, iterator, java

Solution

You may use a `ListIterator` which has support for a remove/add method during the iteration itself.

ListIterator<Book> iter = books.listIterator();
while(iter.hasNext()){
    if(iter.next().getIsbn().equals(isbn)){
        iter.add(new Book(...));
    }
}

Problem

I want to avoid getting `ConcurrentModificationException`. How would I do it?

Original source