stream流过滤集合可以过滤两个条件吗
时间: 2024-05-15 15:13:32 浏览: 69
Java-IO流/Stream流总结
是的,使用Java 8中的Stream API,你可以使用filter()方法过滤多个条件。例如,假设你有一个包含Person对象的List,你可以使用以下代码同时过滤出所有年龄大于20岁且性别为男性的Person对象:
```
List<Person> people = ... // 获取Person对象的List
List<Person> filteredPeople = people.stream()
.filter(p -> p.getAge() > 20 && p.getGender() == Gender.MALE)
.collect(Collectors.toList());
```
其中,`p -> p.getAge() > 20 && p.getGender() == Gender.MALE`是一个Lambda表达式,表示一个满足年龄大于20且性别为男性的过滤条件。`.collect(Collectors.toList())`方法将过滤后的结果收集到一个新的List中。
阅读全文