JAVA中LISt遍历时如何remove元素
2017-07-26 17:08
441 查看
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式:
第一种:普通for循环正向遍历
第一种:普通for循环正向遍历
for(int i = 0;i < list.size();i++){ String b = list.get(i); if(b.equals("502323232")){ list.remove(i); i--; } } /* 这里不i--不会报异常,但是删除后得到的 数据不一定是正确的,这主要是因为删除元素后,被删除元素后 的元素索引发生了变化。假设被遍历list中共有10个元素,当 删除了第3个元素后,第4个元素就变成了第3个元素了,第5个就变成 了第4个了,但是程序下一步循环到的索引是第4个, 这时候取到的就是原本的第5个元素了。这样就会造成删除数据不全 */ 第二种:普通for循环反向遍历 for(int i = list.size() - 1;i >= 0;i--){ String b = list.get(i); if(b.equals("502323232")){ list.remove(i); } } 第三种:迭代器遍历list删除元素是可以的,不过要注意用的是iterator的remove方法,如果用list.remove会报错java.util.ConcurrentModificationException Iterator<String> iter = list.iterator(); while(iter.hasNext()){ String b = iter.next(); if(b.equals("502323232")){ iter.remove(); } }
相关文章推荐
- JAVA中LISt遍历时如何remove元素
- JAVA中List遍历时如何remove元素
- Java如何在List或Map遍历过程中删除元素
- java如何遍历List里面的每个元素
- Java如何遍历Map的所有的元素
- 遍历List 同时 remove 元素
- Java如何遍历Map的所有的元素(各种方法)
- Java中如何循环删除一个集合(如List)中的多个元素
- 如何在遍历list,vector,map时删除符合条件的元素
- Java中如何循环删除一个集合(如List)中的多个元素
- 如何正确遍历删除List中的元素,你会吗?
- Java如何遍历Map的所有的元素
- JAVA遍历List集合并删除其中的元素
- Java如何遍历Map的所有的元素
- [bxd学习java基本点]7.linkedList方法,remove移走的要显示元素
- Java如何遍历Map的所有的元素
- Java如何遍历Map的所有的元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- 如何在Java中构建一个不包含重复元素的List