Как отфильтровать одну коллекцию по другой?

Есть 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());

→ Ссылка