java中集合中删除特定元素

时间:2022-09-03 16:21:37

总结有三种方式:


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main{
public static void main(String[] args) {

/*
* 直接使用List<String> listArrays.asList("1","2","3","4");
* 会抛出UnsupportedOperationException异常
*/
List<String> list=new ArrayList<String>(Arrays.asList("1","2","3","4"));

//方式1:索引
/*
for(int i=0;i<list.size();i++){
if(list.get(i).equals("3")){
list.remove(i);
i--;//注意
}
}*/

//方式2:迭代器
/*
Iterator<String> sListIterator = list.iterator();
while(sListIterator.hasNext()){
String e = sListIterator.next();
if(e.equals("3")){
sListIterator.remove();
}
} */

//方式3:lamda表达式
list.removeIf((String s)->s.equals("3"));

System.out.println(list);
}
}


注意一点,要避免索引和迭代器混用。