1
有没有一种方法可以简化这一点,并直接将我从groupingBy获得的映射转换为具有键和值作为属性的元素列表?而不是有2次转换流。groupingBy&Java 8 - 分组后通过将地图转换为对象列表
我在这里做的是,我获取RiskItems,然后将它们映射到DTO,之后我需要它们按RiskItemDTO中的一个属性 - RiskDTO分组,然后将所有这些转换为具有RiskDTO和coreSponding 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());
任何流实施能做的只是相当于做同样的事情,只是隐藏来自你的“地图”。 –