【发布时间】:2020-04-05 17:15:18
【问题描述】:
我的员工和地址类别如下
class Employee {
private String name;
private int age;
private List<Address> addresses;
//getter and setter
}
class Address {
private String city;
private String state;
private String country;
//getter and setter
}
使用 java 8 过滤器我想打印所有城市以 P 开头的员工
在下面的代码中添加什么来获取该过滤地址的 emp
employees.stream()
.map(Employee::getAddresses)
.flatMap(Collection::stream)
.filter(children -> children.getCity().startsWith("p"))
.collect(Collectors.toList())
.forEach(System.out::println);
提前致谢。
【问题讨论】:
-
那么不要在地址上进行平面映射。如果你想留住你的员工,你应该在地址上进行另一个流
标签: java filter java-8 java-stream