Java 循环删除List中的元素
发表时间: 2017-11-21 09:43:53 | 浏览次数:
我们在敲代码时,很多时候会用的List,然而List中有些元素我们是不需要的,那么如何删除不要的元素呢?下面我们来探讨一下。
1.for循环
for(String x:list){ if(x.equals("delete")){ list.remove(x); } }
这种方式不可取,在删除一个元素后会报错。原因是元素在使用的时候发生了并发的修改,导致抛出异常。
2.for循环遍历List
for(String x:list){ if(x.equals("delete")){ list.remove(x); } }
这种方式不可取,因为删除某个元素后,List的大小会发生改变,索引也随之改变,所以导致遍历的时候会删除其他元素。这种方式只可用于删除特定的元素,不适用与循环删除多个元素。
3.Iterator遍历
Iteratorit = list.iterator(); while(it.hasNext()){ String x = it.next(); if(x.equals("delete")){ it.remove(); } }
※ 这种方式可以正常地循环删除List的元素。
上一篇:Java获取昨天、当天、明天的某一个时间点
下一篇:Java Mybatis generator 逆向工程去掉表前缀