如何按一个集合过滤另一个集合?
How to filter one collection by another?
有2套,用户有很多字段,但是必须的是departmentId,他们还给了我一个id数组用来删除,还有这个那个strig。您如何迭代 oldUser 并仅保留其 departmentId 在 removeUserById 中的那些用户?下面是我写的stream 但是不行,所有用户无一例外的去abс集合
Set<User> oldEmploee = userRepository.findAllByDepartmentId(departmentId);
Set<String> newEmploee = command.getEmployees();
Set<User> abc = oldEmploee.stream().filter(e -> !newEmploee.contains(e.getDepartmentId())).collect(Collectors.toSet());
abc.forEach(user -> user.setDepartmentId("3a9b4a8a-9e8c-4b72-b3cd-4e72090c259b"));
userRepository.saveAll(abc);
Set<User> abc = oldEmploee.stream().filter(e -> newEmploee.contains(**e.getId()**)).collect(Collectors.toSet());