Java之不可变集合

Java之不可变集合

什么是不可变集合?

  1. 不可变集合就是不可被修改的集合。

  2. 集合的数据项在创建的时候提供,并且在整个生命周期中都不可被改变。否则报错

为什么要创建不可变集合?

  1. 如果当某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的选择。

  2. 或者当集合对象被不可信的库调用时,不可变形式是安全的。

如何创建不可变集合?

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

方法名称说明
static <E> List <E> of(E...elements) 创建一个具有指定元素的List集合对象
static <E> Set <E> of(E...elements) 创建一个具有指定元素的Set集合对象
static <K,V> Map<K,V> of(E...elements) 创建一个具有指定元素的Map集合对象

代码实现

基于jdk17:

     //1、不可变的list集合
         List<Double> lists= List.of(700.0,564.5,156.5,500.0);
         // lists.add(689.0);会报错
         // lists.set(2 , 698.5);
         // System.out.println(lists);
         double score = lists.get(1);
         System.out.println(score);
 ​
         //2、不可变集合Set集合
         Set<String> names = Set.of("王文君","王文军","王文马","王文牛");
         // names.add("王文驴");
         System.out.println(names);
 ​
         //3、不可变的Map集合
         Map<String , Integer> maps = Map.of("华为手机",2,"苹果手机",3);
         // maps.put("vivo手机",2);
         System.out.println(maps);
 
posted @   镰刀战士  阅读(155)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示