Java Stream API 将 Map<String, Map<String, List<ComputeResultExportDTO>>> 转换为 Map<String, Map<String, Map<String, BigDecimal>>>
您可以使用Java 8的Stream API来将给定的Map<String, Map<String, List
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
类具有key
和value
字段,您可以根据实际情况进行调整。此外,示例中的输出只是为了验证转换是否正确,您可以根据自己的需求进行修改。

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