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

相关推荐
学长毕设27 分钟前
基于SpringBoot的野生动物公益保护平台设计与实现-附源码
java·spring boot·后端
梦里寻码1 小时前
我用 NestJS + Vue3 写了一套完整的研发管理系统(58 表 / 229 API / 130 项断言,全开源
前端·后端·算法
鶴哥只手遮天1 小时前
《Redis 8.10.3 深度剖析》系列 ·第 10 章 Hash 一:`listpack`、`hashtable` 与 `LISTPACK_EX`
redis·后端·开源
SL_staff1 小时前
离散制造排程破局:JVS-APS 四步闭环落地实践(开发者视角)
java·产品·全栈
johnjincaaaa1 小时前
WebAssembly 逆向实战:从 0 搞懂猿人学第 15 题
后端
Gopher_HBo1 小时前
Go CPU 剖析:四角色白话机制 + 实测实验
后端
这个昵称不容易1 小时前
SpringBoot 美容院管理系统:232个Java文件315个接口,5套角色从预约到发货一整条链路
java·springboot·毕设
猿人谷1 小时前
Surrogate Model:让进化算法学会“预测”,为什么它正在成为智能优化的重要技术?
后端·算法·架构
装不满的克莱因瓶2 小时前
【SpringAI Alibaba】ReactAgent记忆管理MessageTrimmingHook与MessageDeletionHook
java·人工智能·ai·ai编程·springai·springaialibaba
the局外人2 小时前
LangChain ToolRuntime 入门:context、state 与 store 的实际用法
后端·langchain·agent