java set修改_我们如何在Java 9中创建不可修改的Set?

不变的静态工厂方法Set.of()可以提供一种方便的方法来在Java 9中创建不可修改的集。

通过使用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 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值