java.util.ConcurrentModificationException解决办法 来自百度知道
来源:互联网 发布:运行单独的java文件 编辑:程序博客网 时间:2024/05/20 20:17
一:
这个问题是说,你不能在对一个List进行遍历的时候将其中的元素删除掉解决办法是,你可以先将要删除的元素用另一个list装起来,等遍历结束再remove掉可以这样写List delList = new ArrayList();//用来装需要删除的元素for(Information ia:list)if(ia.getId()==k){n++;delList.add(ia);}list.removeAll(delList);//遍历完成后执行删除
二:
ArrayList 遍历的时候做移除会有并发的错误。使用CopyOnWriteArrayList可解决这个问题。 Collection<User> users = new CopyOnWriteArrayList<User>(); // ArrayList<User>();使用这个会报错。 users.add(new User("aaa","1")); users.add(new User("bbb","2")); users.add(new User("ccc","3")); Iterator<User> it = users.iterator(); while(it.hasNext()){ System.out.println("111"); User user = it.next(); if(user.getName().equals("aaa")){ users.remove(user); }else{System.out.println(user.toString()); } }
三:
用迭代器IteratorIterator ite=list.iterator();while(ite.hasNext()){Object o=ite.next();if(/*此处写你希望o满足的删除条件*/)ite.remove();
四:
不防在if(){.......;}加上break;修改如下:if(ia.getId()==k){n++;list.remove(ia);break;}注:前面三种方法我没试验,我在自己的代码中就是用了类似第三种的方法才会报出这样的异常。个人感觉那样并没有解决问题,只不过是把遍历搬在了迭代器中而已。第四种方法让我真正解决了问题。break; 很神奇的东西,哈哈。我猜想原因是这里break之后就不在遍历了。所以便不再报出java.util.ConcurrentModificationException
- java.util.ConcurrentModificationException解决办法 来自百度知道
- 【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 解决办法
- java.util.ConcurrentModificationException解决办法
- java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- java.util.ConcurrentModificationException 解决办法
- x264的PSNR是如何计算出来的
- JDK 6.0 新特性
- STL学习笔记-->初识STL
- vmstat详解
- Linux下的ssh和scp介绍
- java.util.ConcurrentModificationException解决办法 来自百度知道
- x264代码精简优化
- Linux下rz,sz与ssh的配合使用
- 利用ssh传输文件
- UITextField
- Bitmap Indexes and Deadlocks: Deadlocks on DML's and DDL's [ID 171795.1]
- 程序员中的其他程序员
- yum包的简单应用(一)——制作自己的源createrepo
- (代码6)卷积