List集合如何删除对象
2016-09-29 16:04
267 查看
//如果在循环的过程中调用集合的remove()方法,就会导致循环出错,例如: for(int i=0;i<list.size();i++){ list.remove(...); }
循环过程中list.size()的大小变化了,就导致了错误。
所以,如果你想在循环语句中删除集合中的某个元素,就要用迭代器iterator的remove()方法,因为它的remove()方法不仅会删除元素,还会维护一个标志,用来记录目前是不是可删除状态,例如,你不能连续两次调用它的remove()方法,调用之前至少有一次next()方法的调用。
正确的删除做法是:
Iterator it = list.iterator(); int index = 0; while (it.hasNext()) { Object obj = it.next(); if (needDelete(obj)) //needDelete返回boolean,决定是否要删除 { it.remove(); //todo delete } index ++; }
相关文章推荐
- 如何从List集合中删除对象
- 如何从List,ArrayList集合中删除对象,或者其他数据
- 如何从List集合中删除对象
- 如何在遍历list集合中删除list集合中的元素
- Java中如何循环删除一个集合(如List)中的多个元素
- JAVA中如何取出两个不同List对象(对象一致)中所有不同的对象的集合
- 通过编码分别测试ArrayList 和 LinkedList 添加、删除对象时的耗时情况(精确到纳秒),并总结出以上两种集合的数据结构的不同之处。
- Java中如何循环删除一个集合(如List)中的多个元素
- 如何根据对象的属性,对集合(list / set)中的对象进行排序
- 如何删除一个list集合里面的某个元素
- 如何在list集合中删除多个元素
- 如何将二个list集合当中相同的元素进行删除。
- Java中如何循环删除一个集合(如List)中的多个元素
- Java-集合 list对象进行指定位置插入、删除、迭代、遍历输出(具体习题讲解)
- 如何对List集合中的对象进行按某个属性排序
- 【Array、List】Java数组或集合中如何删除元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- 如何根据对象的属性,对集合(list / set)中的对象进行排序
- List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出