Collections.singletonMap 是 Java 中创建单元素不可变 Map 的最简洁方式,返回线程安全、不可修改的 Map 实例,调用时传入键值对即可,任何修改操作均抛出 UnsupportedOperationException。

Collections.singletonMap 是 Java 中创建单元素不可变 Map 的最简洁方式,它返回一个线程安全、不可修改的 Map 实例。
基本用法:传入键和值即可
只需调用 Collections.singletonMap(key, value),传入一个键和一个值,方法会直接返回一个只含这对键值的 Map:
Map<String, Integer> map = Collections.singletonMap("age", 25);
这个 map 不能添加、删除或修改内容,任何改变操作(如 put()、remove()、clear())都会抛出 UnsupportedOperationException。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
类型安全与泛型推断
该方法是泛型的,编译器通常能自动推断类型。如果需要显式指定,可写成:
立即学习“Java免费学习笔记(深入)”;
Map<String, String> m = Collections.<String, String>singletonMap("name", "Alice");
注意:键和值都为 null 是允许的(只要对应类型支持),例如 Collections.singletonMap(null, "value") 是合法的。
适用场景与注意事项
- 适合配置项、默认参数、临时单条映射等轻量级场景
- 比
new HashMap<>() {{ put(...); }}更高效且明确表达“不可变”意图 - 不是
Map.of("key", "value")(Java 9+),后者支持多元素但要求键不重复;而singletonMap兼容 Java 5+,更老项目中更通用 - 每次调用都生成新对象,不复用;若频繁使用相同键值,可考虑缓存该 map 实例

















