* 普通for循环遍历删除元素 */List<Student>students=this.getStudents();for(int i=0;i<students.size();i++){if(students.get(i).getId()%3==0){Student student=students.get(i);students.remove(student);}} 由于在循环中删除元素后,list的索引会自动变化,list.size()获取到的list长度也会实时更新,...
1/**2* 普通for循环遍历删除元素3*/4List<Student> students =this.getStudents();5for(inti=0; i<students.size(); i++) {6if(students.get(i).getId()%3 == 0) {7Student student =students.get(i);8students.remove(student);9}10} 由于在循环中删除元素后,list的索引会自动变化,list.size(...
1. 普通for循环 先看代码:1/** 2 * 普通for循环遍历删除元素 3*/ 4 List<Student> students = this.getStudents();5for (int i=0; i<students.size(); i++) { 6if (students.get(i).getId()%3 == 0) { 7 Student student = students.get(i);8 students.remove(student);9 ...
比如循环到第2个元素时你把它删了,接下来去访问第3个元素,实际上访问到的是原来list的第4个元素,因为原来的第3个元素变成了现在的第2个元素。这样就造成了元素的遗漏。 2. 增强for循环 foreach 先看代码: 1/** 2* 增强for循环遍历删除元素 3*/ 4List<Student>students=this.getStudents(); 5for(Student...
所以推荐使用迭代器iterator,或者JDK1.8以上使用lambda表达式进行List的遍历删除元素操作。 以下是上述几种方法的具体分析: 1. 普通for循环 先看代码: 1/**2* 普通for循环遍历删除元素3*/4List<Student> students =this.getStudents();5for(inti=0; i<students.size(); i++) {6if(students.get(i).getId(...