可以使用以下代码实现:

Map<String, pod> podMap = podList.stream()
        .collect(Collectors.toMap(pod::getResourceId, Function.identity()));

该代码使用 Java Stream API 将 podList 中的每个 pod 对象转换为 Map.Entry 对象,并将这些 Entry 对象收集到一个 Map 中。Collectors.toMap() 方法接收两个参数:

  • pod::getResourceId:一个函数,用于获取 pod 对象的 resourceId 属性值,作为 Map 的 key。
  • Function.identity():一个函数,用于返回 pod 对象本身,作为 Map 的 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 方法
}

注意:

  • podList 是一个包含 pod 对象的 List。
  • podMap 是一个包含 pod 对象的 Map,其中 key 是 pod 对象的 resourceId 属性值,value 是对应的 pod 对象。

优点:

  • 代码简洁高效,易于理解。
  • 利用了 Java Stream API 的优势,提高代码可读性和可维护性。

应用场景:

  • 需要根据 pod 对象的 resourceId 属性快速访问 pod 对象时。
  • 需要对 pod 对象进行分组或过滤操作时。
Java Stream: 将 List<Pod> 转换为 Map<resourceId, Pod>  -  高效数据转换

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

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