遍历删除容易出现的ConcurrentModificationException问题解决方法
2017-12-25 17:20
405 查看
删除列表中的某些符合条件的对象,一不小心容易出现ConcurrentModificationException异常,如以下代码就会出现问题:
for(CourseInfo info : myCourseList){
if(info.isChecked){
myCourseList.remove(info);
}
}
其实边遍历边删除本身逻辑是有问题的。
解决方法就是利用Iterator这东西,具体代码如下:
Iterator<CourseInfo> iterator = myCourseList.iterator();
while (iterator.hasNext()) {
CourseInfo courseInfo = iterator.next();
if (courseInfo.isChecked) {
iterator.remove();
}
}
for(CourseInfo info : myCourseList){
if(info.isChecked){
myCourseList.remove(info);
}
}
其实边遍历边删除本身逻辑是有问题的。
解决方法就是利用Iterator这东西,具体代码如下:
Iterator<CourseInfo> iterator = myCourseList.iterator();
while (iterator.hasNext()) {
CourseInfo courseInfo = iterator.next();
if (courseInfo.isChecked) {
iterator.remove();
}
}
相关文章推荐
- 关于出现List的java.util.ConcurrentModificationException异常问题的解决
- java使用Iterator迭代出现"java.uitl.ConcurrentModificationException"错误原因及解决方法概述
- ConcurrentModificationException异常出现原因以及解决方法
- 遍历并批量删除容器中元素出现ConcurrentModificationException原因及处置
- java.util.ConcurrentModificationException---用迭代器遍历Map时删除其中元素出现异
- 遍历集合时删除元素,抛出java.util.ConcurrentModificationException的解决办法
- 遍历集合时删除元素,抛出java.util.ConcurrentModificationException的解决办法
- 出现java.util.ConcurrentModificationException 问题及解决办法
- java.util.ConcurrentModificationException错误的解决方法
- ArrayList迭代,删除list中内容出现ConcurrentModificationException
- java.util.ConcurrentModificationException异常解决方法
- HBase集群出现NotServingRegionException问题的排查及解决方法
- 关于Map表循环过程删除操作出现的java.util.ConcurrentModificationException 异常
- 使用迭代器遍历List的时候修改List报ConcurrentModificationException异常的解决办法
- 用IE删除软件删除IE出现问题解决方法
- 关于hashMap的java.util.ConcurrentModificationException解决方法
- HBase集群出现NotServingRegionException问题的排查及解决方法
- 出现 java.util.ConcurrentModificationException 时的解决办法
- 从ArrayList中删除对象报java.util.ConcurrentModificationException异常解决
- java.util.ConcurrentModificationException异常解决方法