gpt4 book ai didi

Java 8获取地址以P开头的所有员工

转载 作者:行者123 更新时间:2023-12-02 07:35:01 25 4
gpt4 key购买 nike

我的员工和地址类别如下

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);

提前致谢。

最佳答案

filter中使用anyMatch而不是mapping:

employees.stream()
.filter(employee -> employee.getAddresses().stream()
.anyMatch(adr -> adr.getCity().startsWith("p")))
.forEach(System.out::println); // collecting not required to use forEach

关于Java 8获取地址以P开头的所有员工,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59302453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com