在我的应用程序中,我使用了Map来存储POJO对象.根据要求,我需要迭代Map的keySet并删除不需要任何修改的对象.
考虑下面的代码..
public void remove(Map<String,User> removeUser){
Set<String> keySet = removeUser.keySey();
User user = null;
for(String key : keySet){
user = (user) removeUser.get(key);
if(!user.isActive()){
removeUser.remove(key);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这里在上面的代码中,当我尝试在删除对象后获取User对象时,我收到ConcurrentModificationException.
谁能告诉我为什么会发生?
我没有使用多线程.所以无法理解,从哪里生成ConCurrentModification Exception.
即使我尝试使用HashMap和Hashtable,但问题仍然存在.
谢谢,Gunjan.