在Java中,可以使用Collections类的静态方法或List.of()、Set.of()等工厂方法来快捷创建不可变集合。以下是一些常用的方式:
1、使用Collections类的unmodifiableList()、unmodifiableSet()、unmodifiableMap()等方法创建不可变集合。这些方法返回的集合是只读的,任何修改操作都会抛出UnsupportedOperationException异常。
List<String> immutableList = Collections.unmodifiableList(Arrays.asList("Apple", "Banana", "Orange")); Set<Integer> immutableSet = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(1, 2, 3))); Map<String, Integer> immutableMap = Collections.unmodifiableMap(Map.of("Key1", 1, "Key2", 2));
使用List.of()、Set.of()等工厂方法创建不可变集合。这些方法从Java 9开始引入,用于快速创建不可变集合。
List<String> immutableList = List.of("Apple", "Banana", "Orange"); Set<Integer> immutableSet = Set.of(1, 2, 3); Map<String, Integer> immutableMap = Map.of("Key1", 1, "Key2", 2);
需要注意的是,使用这些方法创建的集合是不可变的,即不能对其进行添加、删除或修改操作。如果尝试修改这些集合,会抛出UnsupportedOperationException异常。
创建不可变集合的好处是,可以确保集合的内容在创建后不可被修改,提高代码的安全性和可靠性。不可变集合在多线程环境下也更加安全,无需进行额外的同步操作。
请注意,这些方法创建的集合是不可变的,但其中的元素本身并不一定是不可变的。如果需要创建包含不可变元素的集合,应确保元素本身是不可变的或者进行适当的保护,以防止元素被修改。