使用List.stream.filter来筛选多个数据
在Java编程中,有时我们需要从一个List中筛选出满足特定条件的多个数据。Java 8引入了Stream API,其中的filter方法可以用来从一个流中筛选出满足条件的元素。本文将介绍如何使用List.stream.filter方法来实现筛选多个数据的功能。
首先,我们需要创建一个包含多个数据的List。假设我们有一个包含员工信息的List,每个员工对象都有姓名、年龄、性别等属性。我们想要筛选出年龄在30岁以上且性别为女性的员工。下面是一个示例的代码:
Listemployees = new ArrayList<>();employees.add(new Employee("张三", 25, "男"));employees.add(new Employee("李四", 35, "女"));employees.add(new Employee("王五", 45, "男"));employees.add(new Employee("赵六", 28, "女"));
接下来,我们可以使用List.stream方法将List转换为一个流。然后使用filter方法来筛选出满足条件的员工。在filter方法中,我们可以定义一个Predicate对象来指定筛选条件。下面是代码示例:
ListfilteredEmployees = employees.stream() .filter(e -> e.getAge() > 30 && e.getGender().equals("女")) .collect(Collectors.toList());
在上面的代码中,我们使用Lambda表达式定义了一个Predicate对象。Lambda表达式e -> e.getAge() > 30 && e.getGender().equals("女")表示年龄大于30且性别为女性的员工。然后我们使用collect方法将筛选出的员工收集到一个新的List中。
最后,我们可以遍历筛选出的员工列表并打印出每个员工的信息。下面是代码示例:
for (Employee employee : filteredEmployees) { System.out.println(employee.getName() + ",年龄:" + employee.getAge() + ",性别:" + employee.getGender());}
执行上面的代码,输出结果如下:
李四,年龄:35,性别:女
通过上面的代码示例,我们可以看到成功筛选出了满足条件的员工。使用List.stream.filter方法可以方便地筛选出多个数据。
总结:
本文介绍了如何使用List.stream.filter方法来筛选多个数据。首先需要创建一个List,然后使用List.stream方法将其转换为一个流。接着使用filter方法来筛选出满足条件的元素。最后使用collect方法将筛选出的数据收集到一个新的List中。通过这种方法,我们可以方便地筛选出满足特定条件的多个数据。
转载请注明来源本文地址:https://www.tuituisoft/blog/21021.html