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());
任何流實施能做的只是相當於做同樣的事情,只是隱藏來自你的「地圖」。 –