小编bej*_*jnz的帖子

groupingBy&Java 8 - 分组后将地图转换为对象列表

有没有办法我可以简化这个并直接将我从groupingBy获得的地图转换为具有键和值作为属性的元素列表?并且没有2次转换流.

我在这里做的是我获取RiskItems然后将它们映射到DTO,之后我需要将它们按RiskItemDTO的属性 - RiskDTO分组,然后将所有这些分组为具有RiskDTO和coressponding RiskItemDTOs作为元素的元素列表.

 riskItemRepositoryCustom.findRiskItemsByRiskTypeName(riskTypeName)
            .stream()
            .map(mapper::mapToDTO)
            .collect(groupingBy(RiskItemDTO::getRisk))
            .entrySet()
            .stream()
            .map( entry -> new RiskWithRiskItemsDTO(entry.getKey(),entry.getValue()))
            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

4
推荐指数
1
解决办法
2583
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1