java.util.ConcurrentModificationException 这个异常 针对MAP

在对一个map进行迭代遍历并删除一些符合条件的键值对的时候,容易出现
java.util.ConcurrentModificationException 这个异常

 

解决方法就是先用Iterator的方法remove,然后再调用HashMap的remove方法!!即代码如下:
Iterator<Integer> keys = gradeMap.keySet().iterator();
while(keys.hasNext()){
Integer i = keys.next();
if(!gradesIds.contains(i)){
keys.remove();    //先用Iterator的方法remove
gradeMap.remove(i);}
高并发,并且你的map是经常修改的,千万不要用HashMap,会把这个线常卡死的

要用ConcurrentHashMap ,线程安全

你可能感兴趣的:(java.util.ConcurrentModificationException 这个异常 针对MAP)