MapString ListScoreItemTableSourceVO assesseeIdKeyMap变成 MapString MapString ListScoreItemTableSourceVO 使用stream第二个string是ScoreItemTableSourceVO里面的一个属性
你可以使用Java 8的Stream来将Map<String, List<ScoreItemTableSourceVO>>转换为Map<String, Map<String, List<ScoreItemTableSourceVO>>>,其中第二个String是ScoreItemTableSourceVO的一个属性。
以下是一个示例代码:
Map<String, Map<String, List<ScoreItemTableSourceVO>>> transformedMap = assesseeIdKeyMap.entrySet()
.stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
entry -> entry.getValue().stream()
.collect(Collectors.groupingBy(ScoreItemTableSourceVO::getPropertyName))
));
在上面的代码中,我们使用entrySet().stream()将assesseeIdKeyMap转换为流。然后,使用Collectors.toMap()方法将流中的每个项映射为新的项。键仍然是原始的String键,而值是一个新的Map。新的Map由内部的stream和Collectors.groupingBy()方法创建。我们使用ScoreItemTableSourceVO::getPropertyName作为分组依据,将ScoreItemTableSourceVO对象按propertyName属性进行分组。
这样,你就可以得到一个类型为Map<String, Map<String, List<ScoreItemTableSourceVO>>>的transformedMap
原文地址: https://www.cveoy.top/t/topic/iRCN 著作权归作者所有。请勿转载和采集!