Collections.singleton用于创建不可变单元素集合,包括Set、List(通过singletonList)和Map(通过singletonMap),节省内存且线程安全。示例:Set<String> set = Collections.singleton("apple"); List<String> list = Collections.singletonList("hello"); Map<String, Integer> map = Collections.singletonMap("count", 1); 所有返回集合均不可修改,任何变更操作抛出UnsupportedOperationException,适用于常量、默认值或方法参数场景。

在Java中,Collections.singleton 是一个静态方法,用于创建不可变的单元素集合。这种方法适用于只需要包含一个元素的Set、List或Map场景,既能节省内存,又能保证线程安全和数据不变性。
该方法最常见用途是生成只包含一个元素的不可变Set。返回的Set不能添加、删除或修改元素。
示例代码:
Set<String> singleSet = Collections.singleton("apple");
System.out.println(singleSet); // 输出: [apple]
// singleSet.add("banana"); // 抛出 UnsupportedOperationException
虽然 Collections.singleton 主要用于Set,但Java提供了专门的方法 Collections.singletonList 来创建单元素List,效率更高且类型更明确。
示例代码:
List<String> singleList = Collections.singletonList("hello");
System.out.println(singleList.get(0)); // 输出: hello
// singleList.set(0, "world"); // 不允许修改,会抛异常
当你需要一个只包含一个键值对的Map时,可以使用 Collections.singletonMap 方法。
立即学习“Java免费学习笔记(深入)”;
示例代码:
Map<String, Integer> singleMap = Collections.singletonMap("count", 1);
System.out.println(singleMap.get("count")); // 输出: 1
// singleMap.put("newKey", 2); // 抛出 UnsupportedOperationException
这些方法返回的集合都是不可变的,任何修改操作都会抛出 UnsupportedOperationException。它们适合用作方法参数、默认返回值或常量定义。
基本上就这些。用好这三个 singleton 方法,能在保证安全的前提下简化代码、提升性能。
以上就是在Java中如何使用Collections.singleton创建单元素集合_单元素集合指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号