如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)

遍历删除List中符合条件的元素主要有以下几种方法:

普通for循环

增强for循环 foreach

迭代器iterator

removeIf 和 方法引用 (一行代码搞定)

其中使用普通for循环容易造成遗漏元素的问题,增强for循环foreach会报java.util.ConcurrentModificationException并发修改异常。

所以推荐使用迭代器iterator,或者JDK1.8以上使用lambda表达式进行List的遍历删除元素操作。

以下是上述几种方法的具体分析:

1. 普通for循环

先看代码:

1 /** 2 * 普通for循环遍历删除元素 3 */ 4 List<Student> students = this.getStudents(); 5 for (int i=0; i<students.size(); i++) { 6 if (students.get(i).getId()%3 == 0) { 7 Student student = students.get(i); 8 students.remove(student); 9 } 10 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfwzx.html