Nalini Wanjale:
Tengo los empleados y la dirección de la clase de la siguiente
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
}
Utilización de Java 8 de filtro que desea imprimir todos los empleados que están teniendo la ciudad comenzando por P
Lo que hay que añadir a continuación código para obtener emp de esa dirección filtrada
employees.stream()
.map(Employee::getAddresses)
.flatMap(Collection::stream)
.filter(children -> children.getCity().startsWith("p"))
.collect(Collectors.toList())
.forEach(System.out::println);
Gracias por adelantado.
también:
Utilizar anyMatch
en filter
lugar de map
mesa de ping:
employees.stream()
.filter(employee -> employee.getAddresses().stream()
.anyMatch(adr -> adr.getCity().startsWith("p")))
.forEach(System.out::println); // collecting not required to use forEach