Java 循环删除List中的元素

我们在敲代码时,很多时候会用的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的元素。



欢迎转载,原文地址:http://www.lrfun.com/html/technology/java/2017/1121/128.html

上一篇:Java获取昨天、当天、明天的某一个时间点
下一篇:Java Mybatis generator 逆向工程去掉表前缀