List删除元素

Posted michaelcnblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List删除元素相关的知识,希望对你有一定的参考价值。

记性不好

List<Group> groupList = groupDao.findByParentIdAndFlag(2l,0);
if (groupList.size() > 0){
Iterator it = groupList.iterator();
while(it.hasNext()){
Group group = (Group) it.next();
if (group.getId().equals(793l)) {
it.remove(); //移除该对象
}
}
}

误区:

如果将上例中的iterator.remove(); 改为list.remove(student);将会报ConcurrentModificationException异常。

这是因为:使用迭代器遍历,却使用集合的方法删除元素的结果。

再说for循环:

总体来说,不建议使用高级for循环(增强for循环)遍历删除/增加操作。

原因就是可能会报ConcurrentModificationException异常。

说可能是比较准确的,可能会报,也可能不报。

以上是关于List删除元素的主要内容,如果未能解决你的问题,请参考以下文章

201621123057 《Java程序设计》第9周学习总结

第九次作业

201621123062《java程序设计》第九周作业总结

201621044079 韩烨作业09-集合与泛型

201621123054《Java程序设计》第九周学习总结

201621123048《Java程序设计》第九周学习总结