Как отфильтровать одну коллекцию по другой?
Есть 2 сета, у user много полей, но необходимое это departmentId, так же мне передали массив id на удаление, и то и то Стриг. Как можно пройтись по oldUser и оставив только тех пользователей чьи departmentId есть в removeUserById? Ниже стрим, который написал Но он не работает, закидывает проходят все, user без исключений
Set<User> oldEmploee = serRepository.findAllByDepartmentId(departmentId);
Set<String> newEmploee = command.getUser();
Set<User> abc = oldEmploee.stream().filter(e -> !newEmploee.contains(e.getDepartmentId())).collect(Collectors.toSet());
Ответы (1 шт):
Автор решения: Евгений Калинин
→ Ссылка
было: Set abc = oldEmploee.stream().filter(e -> !newEmploee.contains(e.getDepartmentId())).collect(Collectors.toSet());
стало: Set abc = oldEmploee.stream().filter(e -> newEmploee.contains(e.getId())).collect(Collectors.toSet());