您可以使用循环遍历和转换来实现这个转换过程。以下是一个示例代码:

Map<String, Map<String, Map<String, BigDecimal>>> convertedMap = new HashMap<>();

for (Map.Entry<String, Map<String, List<ComputeResultExportDTO>>> entry1 : originalMap.entrySet()) {
    String key1 = entry1.getKey();
    Map<String, List<ComputeResultExportDTO>> innerMap1 = entry1.getValue();
    
    Map<String, Map<String, BigDecimal>> convertedInnerMap1 = new HashMap<>();
    
    for (Map.Entry<String, List<ComputeResultExportDTO>> entry2 : innerMap1.entrySet()) {
        String key2 = entry2.getKey();
        List<ComputeResultExportDTO> resultList = entry2.getValue();
        
        Map<String, BigDecimal> convertedInnerMap2 = new HashMap<>();
        
        for (ComputeResultExportDTO dto : resultList) {
            String computeKey = dto.getComputeKey();
            BigDecimal computeValue = dto.getComputeValue();
            
            convertedInnerMap2.put(computeKey, computeValue);
        }
        
        convertedInnerMap1.put(key2, convertedInnerMap2);
    }
    
    convertedMap.put(key1, convertedInnerMap1);
}

上述代码假设 originalMap 是原始的 Map<String, Map<String, List<ComputeResultExportDTO>>> 对象,convertedMap 是转换后的 Map<String, Map<String, Map<String, BigDecimal>>> 对象。在循环遍历中,我们逐层转换原始的嵌套结构,并将转换后的结果存储在新的嵌套结构中。

Java Map 转换:将 Map<String, Map<String, List<ComputeResultExportDTO>>> 转换为 Map<String, Map<String, Map<String, BigDecimal>>>

原文地址: http://www.cveoy.top/t/topic/qC7H 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录