读书人

剔除集合元素时务必使用迭代器

发布时间: 2012-08-25 10:06:20 作者: rapoo

删除集合元素时务必使用迭代器

遍历集合删除元素
1、绝对错误的方式

List list = xxxService.getAll();for(Object obj : list ){     list.remove(obj );  //此方式必然导致ConcurrentModificationException}
2、使用Iterator重构,但不够彻底,出现同样的异常,却难以排查。?
List list = xxxService.getAll();for(Iterator objIter =  list.iterate();obj.hasNext(); ){     list.remove(obj );  //此方式也导致ConcurrentModificationException}
?3、使用迭代子删除方式
List list = xxxService.getAll();for(Iterator objIter =  list.iterate();obj.hasNext(); ){     objIter .remove();  //终于尼玛搞定}
?

读书人网 >编程

热点推荐