你好我是 Java 世界的新手我有一个关于如何使用树度量将列表转换为地图的问题。
public class AdditionalMetrics implements Serializable {
private static final long serialVersionUID = 3813944465194104658L;
private Long id;
private String masterId;
private String nodeKey;
private String nodeValue;
}
我想转换List<AdditionalMetrics>
为Map<masterId, Map<nodeKey, nodeValue>
,我在互联网上搜索它只显示
additionalMetrics.stream()
.collect(Collectors.toMap(AdditionalMetrics::getMasterId,
AdditionalMetrics::getNodeValue)
您不能使用,toMap()
因为您有许多 nodeKey/nodeValue 对映射到单个 masterId 值(除非您使用合并函数)。
这更容易进行分组masterId
:
Map<String, Map<String, String>> result = additionalMetrics.stream()
.collect(Collectors.groupingBy(
AdditionalMetrics::getMasterId,
Collectors.toMap(AdditionalMetrics::getNodeKey,
AdditionalMetrics::getNodeValue)));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句