📜  Java中的可选 filter() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:58.415000             🧑  作者: Mango

Java中的可选filter()方法及示例

简介

filter()是Java 8中的一个可选方法,它允许你过滤一个Stream流,返回一个新的Stream流,其中包含了原Stream中符合条件的元素。

使用方法

filter()方法的使用非常简单,它需要一个Predicate参数,Predicate是一个函数式接口,它接受一个输入参数并返回一个布尔值,用于判断输入的元素是否符合条件。

filter()的语法如下:

Stream<T> filter(Predicate<? super T> predicate)

其中T表示Stream流中的元素类型,predicate表示断言接口。

示例

假设我们有一个Student类,它有一个成绩属性score,现在我们想要筛选出成绩大于等于80分的学生,我们可以使用以下代码:

List<Student> studentList = new ArrayList<>();
studentList.add(new Student("小明", 75));
studentList.add(new Student("小红", 85));
studentList.add(new Student("小刚", 60));
studentList.add(new Student("小李", 90));

List<Student> filteredStudentList = studentList.stream().filter(student -> student.getScore() >= 80).collect(Collectors.toList());

System.out.println(filteredStudentList);

以上代码中,我们首先创建了包含4个学生的List,然后使用stream()获取学生流,接着使用filter()方法过滤出成绩大于等于80的学生,最后使用collect()方法收集成List并打印输出。运行结果如下:

[Student{name='小红', score=85}, Student{name='小李', score=90}]
总结

filter()方法是Java 8提供的一个非常方便的方法,它可以帮助我们快速过滤集合中符合条件的元素,并返回一个新的Stream流。在开发中,我们可以根据实际情况灵活运用filter()方法,提高工作效率。