Java list.stream 判断list中是否存在学生性别为女的
时间: 2024-12-17 16:42:24 浏览: 14
在Java中,你可以使用`List<T>.stream()`方法结合`filter()`和`anyMatch()`函数来判断`List<Student>`中是否存在性别为女性的学生。假设`Student`有一个名为`gender`的字段表示性别:
```java
import java.util.List;
import java.util.stream.Stream;
class Student {
private String gender; // 假设gender字段是String类型
// 其他构造方法、getter和setter...
}
List<Student> students = ...; // 存放学生的列表
boolean hasFemaleStudent = students.stream()
.filter(student -> student.getGender().equals("女")) // 这里假设性别"女"已转化为小写
.anyMatch(Student::isFemale); // 如果getGender()返回的是字符串,可以再定义一个isFemale()方法判断是否为"女"
if (hasFemaleStudent) {
System.out.println("列表中有女生");
} else {
System.out.println("列表中没有女生");
}
```
在这里,`anyMatch(Student::isFemale)`也是一个方法引用,如果列表中有学生性别为"女",则`isFemale`方法会返回`true`,`anyMatch()`会返回`true`,反之为`false`。
阅读全文