我们如何在Java 9中创建不可修改的Set?
不变的静态工厂方法Set.of()可以提供一种方便的方法来在Java9中创建不可修改的 集 。
通过使用Set.of()方法创建的集合的实例具有以下特征。
通常,通过工厂方法返回的集合是不可变的。这意味着不能从Set中添加,删除或替换 元素。在Set上调用任何mutator 方法都会导致UnsupportedOperationException。
如果Set包含的元素是可变的,则可能导致Set的内容似乎发生变化。
一个不可变 集 可以使用静态工厂方法不允许创建空 的元素。如果我们尝试使用null元素创建,则会抛出NullPointerException。
在创建不可变的集时,它将拒绝重复的 元素 。传递给静态工厂方法的重复元素将导致IllegalArgumentException。
set元素的迭代顺序不确定, 并且可能会发生变化。
语法
Set.of(E... elements)
示例
import java.util.Set;
public class SetOfMethodTest {
public static void main(String args[]) {
Set<String> names = Set.of("Adithya", "Bhavish", "Chaitanya", "Jai");
System.out.println("Names - " + names);
names.add("Raja"); // throws UnsupportedOperationException }
}输出结果
Names - [Bhavish, Adithya, Jai, Chaitanya]Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.ImmutableCollections.uoe(Unknown Source) at java.base/java.util.ImmutableCollections$AbstractImmutableSet.add(Unknown Source) at SetOfMethodTest.main(SetOfMethodTest.java:8)
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短