可以使用Java 8的Stream API进行转换。代码示例如下:

Map<String, Map<String, pod>> resultMap = podList.stream()
        .collect(Collectors.groupingBy(pod::getResourceId,
                Collectors.toMap(pod::getUuid, Function.identity())))
        .entrySet().stream()
        .collect(Collectors.toMap(e -> 'podAll', Map.Entry::getValue));

其中,groupingBy方法按照resourceId字段进行分组,toMap方法将每个分组内的pod按照uuid字段转换为Map,整个操作得到的结果是一个Map<String, Map<String, pod>>,其中外层Map的key为'podAll',value为分组后的结果。

pod实体示例:

public class pod {
    private Long persistedAt;
    private List<pool> parent;
    private String resourceId;
    private String code;
    private String description;
    private String type;
    private String uuid;
    private String projectStatus;
    private Long createdAt;
    private String manageType;
    private String province;
    private String createdBy;
    private String name;
    private String shortName;
    private String reportSource;
    private Long updatedAt;
    private String status;

    // 省略getter和setter方法
}
Java 8 Stream API 将 List<pod> 转换为 Map<String, Map<String, pod>>

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

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