ナリニWanjale:
私は以下のように、従業員とアドレスのクラスを持っています
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
}
私はPで始まる都市を持っているすべての従業員を印刷したいのJava 8のフィルタを使用します
何そのフィルタアドレスのEMPを取得するためにコードの下に追加します
employees.stream()
.map(Employee::getAddresses)
.flatMap(Collection::stream)
.filter(children -> children.getCity().startsWith("p"))
.collect(Collectors.toList())
.forEach(System.out::println);
前もって感謝します。
また:
使用anyMatch
中filter
の代わりにmap
pingを実行:
employees.stream()
.filter(employee -> employee.getAddresses().stream()
.anyMatch(adr -> adr.getCity().startsWith("p")))
.forEach(System.out::println); // collecting not required to use forEach