你好,我有一个权限列表(权限列表),需要将此列表转换为Map Map <字符串,权限列表>。在map中,键是'type'并且相同的对象将被插入到相应的列表值中。我编写的代码工作得很好,但是它存储了重复的Permission对象。我需要将唯一的对象存储到列表中。我该如何实现。当前代码如下,该代码在列表中存储重复的对象:
listofRights
.stream()
.filter(permission-> StringUtils.isNotEmpty(permission.getType()))
.collect(Collectors
.groupingBy(Permission::getRole,
Collectors.mapping(identity(), Collectors.toList())));
答案 0 :(得分:0)
我猜您需要将Collectors.toList()
更改为Collectors.toSet()
,假设Permission
实现了equals/hashCode