不可变集合

 什么是不可变的集合呢?

      不可变的集合通常来说就是不可以被修改的集合,不可以修改长度和不可以修改内容

那集合不可变有什么意义吗?

  •      如果某个数据不能被修改,把它防御性底拷贝到不可变集合中是个很好的实际
  •      当集合对象被不可信的库调用时,不可变形式是安全的
  •       简单理解:  如果你不想让别人修改你集合中的内容时,那就提供一个不可变的集合,别人拿到这个集合的时候就只能进行查询的操作,别人是不能进行修改,删除,添加的
  • 这样的例子有很多,比如: 斗地主, 斗地主中的规则, 电脑中的硬件信息...........

那如何创建一个不可变的集合呢?

 在List Set Map 接口中,都存在静态的of方法,可以获取一个不可变的集合

 代码实现( List集合 )

 如下图我创建了一个demo3这样的一个实体类,并把要做的事加到注释中

List里面有一个of的这个方法,红色箭头表示我可以传递很多个的方法

这个集合一旦创建完毕之后,是无法进行修改的,在下面的代码中,只能进行查询操作

循环查询操作

 

打印结果

那么接下来进行添加,修改,删除的操作,看一下

代码:

 输出结果: 删除报错

集合的添加的操作,也看出来,它也报错了

 接下来就是集合的修改的方法

输出结果

 

 Set集合的代码: 

Map集合的代码: 

 

 输出结果: 

总结: 

不可变集合的特点? 

     定义完成后不可以修改,了或者添加,删除

如何创建不可变集合?

  List,Set,Map 接口中,都存在of方法可以创建不可变集合

三种创建方式的细节

  •  list: 直接用

  • Set: 元素不能重复

  • Map: 元素不能重复,键值对数量最多是10个

  •       超过10个用ofEntries的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值