Java 8 Stream API 将 List<pod> 转换为 Map<String, Map<String, pod>>
可以使用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方法
}
原文地址: https://www.cveoy.top/t/topic/oBJs 著作权归作者所有。请勿转载和采集!