Concurrent modification exception:-This exception is occur when an object is modified concurrently while a Java Iterator is trying to loop through it.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class ConcurrentException {
public static void main(String[] args) {
HashMap h = new HashMap();
h.put(1, "hello");
h.put(2, "good");
h.put(3, "welcome");
Iterator itr = h.keySet().iterator();
while (itr.hasNext()) {
System.out.println(h.get(itr.next()));
h.put(4, "done");
}
}
}
Output :-
hello
Exception in thread “main”java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
at java.util.HashMap$KeyIterator.next(HashMap.java:1453)
at com.ConcurrentException.main(ConcurrentException.java:16)
how can I remove above exception :-
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class ConcurrentException {
public static void main(String[] args) {
ConcurrentHashMap ch = new ConcurrentHashMap();
ch.put(1, "hello");
ch.put(2, "welcome");
ch.put(3, "Good");
Iterator itr = ch.keySet().iterator();
while (itr.hasNext()) {
System.out.println(ch.get(itr.next()));
ch.put(5, "done");
}
}
}
Output :-
hello
welcome
Good
Done