首页 > 编程语言 >【java基础】创建不可变集合

【java基础】创建不可变集合

时间:2023-01-09 19:46:48浏览次数:36  
标签:map Set java Map 创建 List 集合

创建不可变集合

List<Integer> list = List.of(1,2,3,4);//[1,2,3,4]
Set<Integer> set = Set.of(1,2,3,4);//[1,2,3,4]
Map<Integer,Integer> map = Map.of(1,2,3,4);//{1=2,3=4}

注意:

  1. 上述创建的不可变集合传入数组中的元素不能有null值,原数组修改不会影响创建的集合,创建的集合也不能修改,详细原因https://www.cnblogs.com/blanset/p/16857376.html

  2. Map参数最多只能20个,也就是10个键值对

  3. 如果Map参数超过20个,可以使用

    Map map = Map.ofEntries(hm.entrySet().toArray(new Map.Entry[0]));
    

    或者

    Map<String,String> map = Map.copyOf(hm);
    

    原理参考https://www.cnblogs.com/blanset/p/17038311.html

总结:

三方式创建元素时,数组每个元素不能有null

  • List:直接用
  • Set:元素不能重复
  • Map:元素不能重复,键值对最多10个,超过可以用OfEntries()

标签:map,Set,java,Map,创建,List,集合
From: https://www.cnblogs.com/blanset/p/17038358.html

相关文章

  • SQL动态创建表,时间为表名字
    declare@sqlvarchar(1000)set@sql='createtabletb_'+convert(varchar(8),dateadd(dd,-1,getdate()),112)+'(字段内容)ON[PRIMARY]TEXTIMAGE_......
  • dotnet 6 创建进程 Process.Start 时设置 UseShellExecute 在 Windows 下对性能的影响
    本文将告诉大家,在dotnet6或dotnet7版本里,启动新的进程时,在StartInfo设置UseShellExecute为true和false时,对性能的影响在dotnet6或dotnet7版本里,其他......
  • 创建文件系统及检查和修复
    创建文件系统的工具mkfs.FS_TYPE /dev/DEVICE  DEVICE为分区FS_TYPE:ext4、xfs常见的[root@rocky8~]#mkfs.mkfs.cramfsmkfs.ext2mkfs.ext3mkfs.ext4......
  • 【java基础】如何创建20元素以上的不可变集合?(Map.of()无法创建20个以上)
    背景由于Map.of()(jdk-9出现)创建的不可变集合无法超过20个参数,所以可以使用下面的办法创建Map<Object,Object>map=Map.ofEntries(hm.entrySet().toArray(newMap.Entry......
  • 不可变集合 Stream流和方法引用
    不可变集合如果牌盒里的牌固定为那54张,不能被改变如出牌规则不可变通过of方法获取不可变集合不可变集合是java9提出的新特性在ListMapSet中都定义了许多重载的......
  • Java String类
    String类一、String类的理解和创建对象结构剖析String对象用于保存字符串,也就是一组字符序列;字符串常量对象是用双引号括起来的字符序列。例如:jack"字符串常量;......
  • Java07 异常
    一、什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对......
  • String转集合
     eg:["国际级","国家级","区域级","城市级"]if(!string.IsNullOrWhiteSpace(Level)){list=Common.JsonHelper.JsonDeserialize<......
  • 一次代码重构 JavaScript 图连通性判定
    简介说重构其实就是整理了代码,第一次自己手写写的很丑,然后看了书上写的,虽然和书上的思路不同但是整理后几乎一样漂亮效果整体代码如下classNode{AdjNodes=new......
  • JavaScript 性能优化
    JavaScript是一门动态类型、解释型的编程语言,在网页开发中扮演着非常重要的角色。随着网页的复杂度和访问量的增加,JavaScript性能的优化就显得越来越重要。下面是一些常......