java 利用filter和map,stream函数打印所有女生姓名
时间: 2024-02-01 18:16:59 浏览: 101
Java-Java函数式编程教程
假设有一个学生类 `Student`,其中包含 `name` 和 `gender` 两个属性,可以按以下方式打印所有女生姓名:
```java
List<Student> students = new ArrayList<>();
students.add(new Student("Tom", "male"));
students.add(new Student("Alice", "female"));
students.add(new Student("Bob", "male"));
students.add(new Student("Lisa", "female"));
students.stream()
.filter(s -> s.getGender().equals("female"))
.map(Student::getName)
.forEach(System.out::println);
```
上述代码中,我们使用了 `filter` 方法过滤出所有性别为女的学生,然后使用 `map` 方法将学生对象映射成姓名字符串,最后使用 `forEach` 方法遍历输出。
阅读全文