首页 > 代码库 > ConcurrentModificationException and a HashMap
ConcurrentModificationException and a HashMap
This is not a synchronization problem. This will occur if the underlying collection that is being iterated over is modified by anything other than the Iterator itself.
Iterator it = map.entrySet().iterator();while (it.hasNext()){ Entry item = it.next(); map.remove(item.getKey());}
This will throw a ConcurrentModificationException when the it.hasNext() is called the second time.
The correct approach would be
Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Entry item = it.next(); it.remove(); }
Assuming this iterator supports the remove() operation.
Via: http://stackoverflow.com/questions/602636/concurrentmodificationexception-and-a-hashmap/602660#602660
ConcurrentModificationException and a HashMap
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。