方法一:
使用迭代器遍历
List<Integer> list1 = new ArrayList<>();
list1.add(0);
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(0);
System.out.println(list1);
Iterator<Integer> iterator = list1.iterator();
while (iterator.hasNext()){
Integer next = iterator.next();
if(next == 0){
iterator.remove();
}
}
System.out.println(list1);
注意:使用iterator的remove方法!如果用list的remove方法,会报ConcurrentModificationException。
方法二:
List<Integer> list2 = new ArrayList<>();
list2.add(0);
list2.add(1);
list2.add(2);
list2.add(3);
list2.add(4);
list2.add(0);
System.out.println(list2);
list2.removeIf(next -> next == 0);
System.out.println(list2);
使用JAVA8中Collection提供的方法removeIf()
本文介绍两种在Java中从List中删除特定元素的方法。一种是使用迭代器的remove方法,另一种是利用Java 8的removeIf方法。文章通过具体代码示例展示了如何避免并发修改异常。
2669

被折叠的 条评论
为什么被折叠?



