从集合List中删除对象,正确写法(异常java.util.ConcurrentModificationException
2016-08-15 11:30
330 查看
public class Main { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(null); list.add(2); list.add(null); // 错误写法 for (Integer i : list) { if (i == null) { list.remove(i); } } // 错误写法 Iterator<Integer> iteratorError = list.iterator(); while (iteratorError.hasNext()) { Integer i = iteratorError.next(); if (i == null) list.remove(i); //错误写法 } // 正确写法一 Iterator<Integer> iterator = list.iterator(); while (iterator.hasNext()) { Integer i = iterator.next(); if (i == null) iterator.remove(); //正确写法 } // 正确写法二 if (list != null && list.size() != 0) { for (int i = 0; i < list.size(); i++) { if (list.get(i) == null) { list.remove(i); } } } } }
正确写法一最常用,异常原因分析http://www.cnblogs.com/dolphin0520/p/3933551.html
相关文章推荐
- 遍历List集合同时删除元素的正确方法
- Java-集合 list对象进行指定位置插入、删除、迭代、遍历输出(具体习题讲解)
- 如何从List集合中删除对象
- List集合如何删除对象
- List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出
- 通过编码分别测试ArrayList 和 LinkedList 添加、删除对象时的耗时情况(精确到纳秒),并总结出以上两种集合的数据结构的不同之处。
- 删除List集合中的对象问题
- list/map删除数据的唯一正确写法
- 如何从List,ArrayList集合中删除对象,或者其他数据
- 如何从List集合中删除对象
- 通过编码分别测试ArrayList 和 LinkedList 添加、删除对象时的耗时情况(精确到纳秒),并总结出以上两种集合的数据结构的不同之处。
- Java-集合 list对象进行指定位置插入、删除、迭代、遍历输出(具体习题讲解)
- 对list集合中的对象按照字段属性排序
- 找出list中的不同元素、删除两个list中相同的对象
- java中List对象集合的遍历方法
- 《Java编程思想》之对象的集合(数组、List、Set、Map)一
- 如何从页面传一个list集合对象到后台
- DataTable类型对象转换为List集合
- 《Java编程思想》之对象的集合(数组、List、Set、Map)二
- Java中如何循环删除一个集合(如List)中的多个元素