出现 java.util.ConcurrentModificationException 时的解决办法
来源:互联网 发布:java实现约瑟夫环 编辑:程序博客网 时间:2024/05/29 02:53
原文:http://www.cnblogs.com/error404/archive/2011/11/25/2263671.html
for (int i=0; i<list.size(); i++) { // 只有在这种方式遍历集合时,同时对集合增加、删除才不会影响。
// list.remove(list.get(i));
}
在对一个map进行迭代遍历并删除一些符合条件的键值对的时候,容易出现
java.util.ConcurrentModificationException 这个异常。Exception in thread "main" java.util.ConcurrentModificationExceptionat java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)at java.util.HashMap$KeyIterator.next(HashMap.java:823)
解决办法如下:
import java.util.*; public class TestMap { public TestMap() { } public static void main(String[] args) { java.util.Map m = new java.util.HashMap(); m.put("aaa", "lizongbo "); m.put("bbb", " lizongbo"); m.put("ccc", "lizongbo "); m.put("ddd", " lizongbo"); m.put("eee", "lizongbo"); m.put("fff", "lizongbo"); m.put("ggg", "lizongbo"); m.put("adads", "lizongbo"); m.put("dffd", "lizongbo"); m.put("dcxv", "lizongbo"); m.put("lizongbo", "lizongbo"); m.put("ert", "lizongbo"); m.put("544", "lizongbo "); Iterator iterator = m.keySet().iterator(); while (iterator.hasNext()) { String sessionId = (String) iterator.next(); if ("ggg".equals(sessionId) || "lizongbo".equals(sessionId) || "544".equals(sessionId)) { iterator.remove(); //这行代码是关键。 m.remove(sessionId); } } System.out.println(m.get("ggg")); System.out.println(m.get("lizongbo")); System.out.println(m.get("544")); }
- 出现 java.util.ConcurrentModificationException 时的解决办法
- 出现 java.util.ConcurrentModificationException 时的解决办法
- 出现 java.util.ConcurrentModificationException 时的解决办法
- HashMap出现 java.util.ConcurrentModificationException 时的解决办法
- java.util.ConcurrentModificationException 时的解决办法
- java.util.ConcurrentModificationException 时的解决办法
- java.util.ConcurrentModificationException的解决办法
- java.util.ConcurrentModificationException的解决办法
- java.util.ConcurrentModificationException 出现的原因和解决办法
- java.util.ConcurrentModificationException 出现的原因和解决办法
- java.util.ConcurrentModificationException 出现的原因和解决办法
- java.util.ConcurrentModificationException 出现的原因和解决办法
- java.util.ConcurrentModificationException 出现的原因和解决办法
- java.util.ConcurrentModificationException 出现的原因和解决办法
- 【ConcurrentModificationException】java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- 母版页的相对路径问题【整理】
- OpenGLES/OpenGL 区别&OpenGL ES 1.x/OpenGL ES 2.0 区别
- 网站开发制作40个技巧
- jQuery 插件的模块化
- 通过代码获取spring配置文件中的bean
- 出现 java.util.ConcurrentModificationException 时的解决办法
- C++中得mutable关键字
- linux sar
- 用递归生成树的算法和数据库设计
- 小人物
- Log4j配置详解
- 性能优化总结
- c# byte char string转换
- 判断某进程是否存在