您的位置:首页 > 其它

遍历并删除list中的元素

2017-06-22 13:12 295 查看
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式:
1.通过增强的for循环删除符合条件的多个元素
2.通过增强的for循环删除符合条件的一个元素
3.通过普通的for删除删除符合条件的多个元素
4.通过Iterator进行遍历删除符合条件的多个元素
 

[java] view plain copy

    

public void listRemove() {    

    List students = this.getStudents();    

    for (Student stu : students) {    

        if (stu.getId() == 2)     

            students.remove(stu);    

    }    

}    

[java] view plain copy

    

public void listRemoveBreak() {    

    List students = this.getStudents();    

    for (Student stu : students) {    

        if (stu.getId() == 2) {    

            students.remove(stu);    

            break;    

        }    

    }    

}    

[java] view plain copy

    

public void listRemove2() {    

    List students = this.getStudents();    

    for (int i=0; i

        if (students.get(i).getId()%3 == 0) {    

            Student student = students.get(i);    

            students.remove(student);    

        }    

    }    

}    

[java] view plain copy

    

public void iteratorRemove() {    

    List students = this.getStudents();    

    System.out.println(students);    

    Iterator stuIter = students.iterator();    

    while (stuIter.hasNext()) {    

        Student student = stuIter.next();    

        if (student.getId() % 2 == 0)    

            stuIter.remove();//这里要使用Iterator的remove方法移除当前对象,如果使用List的remove方法,则同样会出现ConcurrentModificationException    

    }    

    System.out.println(students);    

}    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: