方法一:
使用迭代器遍历
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()