实际项目中,在对角色授权时,后台需要根据前台传递回来的修改后的权限id集合,对原来的角色和权限表关系进行维护,新增及删除角色和权限的关系。
解决思路:
1.向set中放入修改后的权限id集合,通过removeall(修改前的权限集合id)获取新增的权限集合;
2.向set中放入修改前的权限id集合,通过removeall(修改后的权限集合id)获取删除的权限集合,
3.分别进行相应的删除和新增操作。
//修改后的集合
Set<String> nowSet = new HashSet<>();
//修改前的集合
Set<String> oldSet = new HashSet<>();
Set<String> removeSet = new HashSet<>();
Set<String> addSet = new HashSet<>();
//删除集合
removeSet.addAll(oldSet);
removeSet.removeAll(nowSet);
addSet.addAll(nowSet);
addSet.removeAll(oldSet);