您可以使用Java 8的Stream API来将给定的Map<String, Map<String, List>>转换为Map<String, Map<String, Map<String, BigDecimal>>>。下面是一个示例代码:

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        // 原始Map
        Map<String, Map<String, List<ComputeResultExportDTO>>> originalMap = new HashMap<>();
        
        // 转换后的Map
        Map<String, Map<String, Map<String, BigDecimal>>> convertedMap = originalMap.entrySet().stream()
                .collect(Collectors.toMap(
                        Map.Entry::getKey,
                        e -> e.getValue().entrySet().stream()
                                .collect(Collectors.toMap(
                                        Map.Entry::getKey,
                                        v -> v.getValue().stream()
                                                .collect(Collectors.toMap(
                                                        ComputeResultExportDTO::getKey,
                                                        ComputeResultExportDTO::getValue
                                                ))
                                ))
                ));

        // 打印转换后的Map
        convertedMap.forEach((k1, v1) -> {
            System.out.println(k1);
            v1.forEach((k2, v2) -> {
                System.out.println("  " + k2);
                v2.forEach((k3, v3) -> {
                    System.out.println("    " + k3 + " -> " + v3);
                });
            });
        });
    }
}

class ComputeResultExportDTO {
    private String key;
    private BigDecimal value;

    public ComputeResultExportDTO(String key, BigDecimal value) {
        this.key = key;
        this.value = value;
    }

    public String getKey() {
        return key;
    }

    public BigDecimal getValue() {
        return value;
    }
}

请注意,此示例假设ComputeResultExportDTO类具有keyvalue字段,您可以根据实际情况进行调整。此外,示例中的输出只是为了验证转换是否正确,您可以根据自己的需求进行修改。

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

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

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