JDK 26 中的 Map.ofLazy
英文标题:JDK26中的Map.ofLazy
Java 26 引入了全新的预览 API —— Map.ofLazy,用于创建具备惰性初始化、不可变和线程安全特性的 Map 集合。其核心机制在于预先定义键集合,而具体的值仅在首次被访问时才通过映射函数计算得出,能有效推迟计算开销并降低内存占用。同时,由于该方法构建的 Map 是不可变对象,任何写操作都会触发异常。目前该特性处于预览阶段,开发者在编译与运行时需开启 --enable-preview 参数。
打开原文相关 2 · 机会 2
10.7 KB
50.5 KB
3.9 KB
中文
前言
Map.ofLazy 是 Java 26 引入的一个预览 API,用于创建惰性初始化、不可变、线程安全 的 Map。它的核心特点是:键在创建时就需要提供,但值只会在第一次被访问时才通过函数计算出来 ,从而延迟开销、节省内存。
Map.ofLazy使用
Map.ofLazy使用
java 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()注意
java 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。
English / 原文
前言
Map.ofLazy 是 Java 26 引入的一个预览 API,用于创建惰性初始化、不可变、线程安全 的 Map。它的核心特点是:键在创建时就需要提供,但值只会在第一次被访问时才通过函数计算出来 ,从而延迟开销、节省内存
Map.ofLazy使用
Map.ofLazy使用
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()注意
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