在 java 8 中返回唯一的地图值

您好,我有一种情况,我有权限列表(权限列表),我需要将此列表转换为地图 Map<String, List of Permission>。在地图中,键是“类型”,相同的对象将被插入到相应的列表值中。我编写的代码运行良好,但它存储了重复的权限对象。我需要将唯一对象存储到列表中。我怎样才能做到这一点。当前代码如下,它在列表中存储重复对象:


listofRights  

        .stream()  

        .filter(permission-> StringUtils.isNotEmpty(permission.getType()))  

        .collect(Collectors  

            .groupingBy(Permission::getRole,  

                Collectors.mapping(identity(), Collectors.toList())));  


慕妹3146593
浏览 130回答 1
1回答

ibeautiful

我想你需要改变Collectors.toList()与Collectors.toSet()假设Permission工具equals/hashCode
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java