Collections.singletonList
是 Java 集合框架中的一个静态方法,用于创建一个包含单个元素的不可变列表。这种列表的大小固定为1,并且不允许添加或删除元素。
具体解释
-
Collections
类:Collections
是一个包含静态方法的类,这些方法用于操作或返回集合。它包括各种实用工具方法,比如排序、搜索和线程安全的集合包装器等。
-
singletonList(T o)
方法:- 这个方法返回一个包含指定单个元素的不可变列表。这个列表的大小固定为1,因此不能添加或删除元素。
方法的作用
Collections.singletonList
方法非常有用,当你需要一个包含单个元素的列表时,可以使用这个方法快速创建一个不可变的单元素列表。
代码示例
import java.util.Collections;
import java.util.List;
public class SingletonListExample {
public static void main(String[] args) {
// 创建一个包含单个元素的不可变列表
String element = "Hello";
List<String> singletonList = Collections.singletonList(element);
// 输出列表的大小和第一个元素
System.out.println("List size: " + singletonList.size()); // 输出: 1
System.out.println("First element: " + singletonList.get(0)); // 输出: Hello
// 尝试修改列表会抛出 UnsupportedOperationException
try {
singletonList.add("World");
} catch (UnsupportedOperationException e) {
System.out.println("Cannot modify the singleton list");
}
}
}
说明
-
创建单元素列表:
Collections.singletonList(element)
创建了一个包含单个元素element
的不可变列表singletonList
。- 列表的大小固定为1,且元素为传入的
element
。
-
访问元素和列表大小:
- 可以使用
singletonList.size()
获取列表的大小,结果为1。 - 可以使用
singletonList.get(0)
访问列表中的唯一元素。
- 可以使用
-
尝试修改列表:
- 由于
singletonList
是不可变的,任何尝试修改(例如add
或remove
操作)都会抛出UnsupportedOperationException
。
- 由于
使用场景
-
单元素列表:
- 当你需要一个包含单个元素的列表时,可以使用
Collections.singletonList
快速创建。
- 当你需要一个包含单个元素的列表时,可以使用
-
不可变列表:
- 创建一个不可变的单元素列表,确保该列表不会被修改。
-
简化代码:
- 用于需要一个列表作为方法参数或返回值的场景,可以简化代码。
总结
Collections.singletonList
是一种方便的工具,可以快速创建一个包含单个元素的不可变列表。它的不可变性确保了列表的安全性和一致性,适用于各种需要单元素列表的场景。