JDK26中的Map.ofLazy

前言

Map.ofLazy 是 Java 26 引入的一个预览 API,用于创建惰性初始化、不可变、线程安全 的 Map。它的核心特点是:键在创建时就需要提供,但值只会在第一次被访问时才通过函数计算出来,从而延迟开销、节省内存

Map.ofLazy使用

Map.ofLazy使用

typescript 复制代码
import java.util.Map;
import java.util.Set;

public class MapLazyDemo {

    static void main() {
        Map<String, String> map = Map.ofLazy(Set.of("alice", "bob", "charlie"), name -> "Hello, " + name);
        System.out.println(map);
    }
}

输出结果为

ofLazy()注意

typescript 复制代码
import java.util.Map;
import java.util.Set;

public class MapLazyDemo {

    static void main() {
        Map<String, String> map = Map.ofLazy(Set.of("alice", "bob", "charlie"), name -> "Hello, " + name);
        map.put("alice", "Hello, alice");
        System.out.println(map);
    }
}

输出结果为

总结

该特性目前仍处于 预览阶段 (JDK 26/27),编译和运行需加 --enable-preview

相关推荐
云浪2 小时前
Go 并发实战:从零实现一个高并发安全的任务调度器
javascript·后端·go
苏三的开发日记3 小时前
Docker 启动顺序优化(CentOS / Ubuntu)
后端
高频因子挖掘机4 小时前
同一交易日出现重复 K 线:去重前先确认时间、来源和粒度
后端·github·api
鶴哥只手遮天4 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天4 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天4 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天4 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源