Получить данные из внутреннего списка, используя поток java8 - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть список сотрудников, у каждого сотрудника есть список отделов.Я хочу получить список отделов под одного сотрудника.Вот мой код,

List<Employee> employeeList = new ArrayList<Employee>();
List<Department> departments = employeeList.stream().filter(x-> x.getEmployeeName().equals("XXX")).filter(y -> y.getDepartmets()).collect(Collectors.toList());

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 11 декабря 2018
employeeList.stream()
            .filter(x -> "XXX".equals(x.getEmployeeName()))
            .findFirst()
            .map(Employee::getDepartmets)     
            .orElse(Collections.emptyList());

Сначала filter по имени и получите первый найденный.При наличии сопоставьте его с этими отделами, иначе создайте пустой список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...