使用removeIf方法从List中删除元素

在JDK1.8中,​​Collection​​​以及其子类新加入了​​removeIf​​方法,作用是按照一定规则过滤集合中的元素。这里展示​​removeIf​​的用法。

需求是过滤掉学生中分数为为18以下的,

一个学生实体类

Java集合中removeIf的使用_List

@Data
public class Student {
public Student(String name, Integer score) {
this.name = name;
this.score = score;
}

//姓名
private String name;
//分数
private Integer score;
}

 测试类

Java集合中removeIf的使用_java_02

public class TestRemoveIf {
public static void main(String[] args) {
List<Student> studentList = new ArrayList<>();
studentList.add(new Student("小明", 12));
studentList.add(new Student("小红", 18));
studentList.add(new Student("小王", 20));
studentList.removeIf(e -> e.getScore() < 18);
System.out.println(studentList.toString());
}
}

从输出结果中看到小明被过滤掉了