首页 > 编程语言 >【java基础】如何创建20元素以上的不可变集合?(Map.of()无法创建20个以上)

【java基础】如何创建20元素以上的不可变集合?(Map.of()无法创建20个以上)

时间:2023-01-09 19:22:34浏览次数:43  
标签:Map 20 创建 arr1 hm Entry

背景

由于Map.of()(jdk-9出现)创建的不可变集合无法超过20个参数,所以可以使用下面的办法创建

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

原理

arr1装的下使用arr1,否则新创建。

Map<String,String> hm = new HashMap<>();
hm.put("张三","南京");
hm.put("李四","北京");

Set<Map<String,String>> entries = hm.entrySet();
Map.Entry[] arr1 = new Map.Entry[0];
Map.Entry[] arr2 = entries.toArray(arr1);
Map map = Map.ofEntries(arr2);

改进

这种方法写起来比较麻烦,所以java将其封装进了Map.copyOf()(jdk-10出现),这个方法可以将可变或者不可变的集合返回一个不可变集合,没有参数大小限制。

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

标签:Map,20,创建,arr1,hm,Entry
From: https://www.cnblogs.com/blanset/p/17038311.html

相关文章

  • SPOJ SP32058 R6PL - Harbinger vs Sciencepal
    链接难度:\(\texttt{17/21}\)\(T\)组数据。有\(n\)组,每组有\(2\)个数\(x,y\),问把每组的一个数分配到一组另一个数分配到另一组两组数字和差的绝对值最小是多少。......
  • 「Codeforces」寒假训练 2023 #3
    A.StringLCM原题链接#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e5+10;intq;strings,t;intlens,lent;int_lcm;......
  • 洛谷 P1434 [SHOI2002] 滑雪 首次markdown测试
    [SHOI2002]滑雪题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来......
  • mapreduce基础JOB操作
    packagecagy.mapreduce.wordcount;importjava.io.IOException;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.m......
  • SQL SERVER2016 4亿条数据秒查的实现
    第一步装机:内存16个128G,intel固态一个,CPU两个48核第二步装系统:直接win10,正版或者got版本都行,稳定就好第三步骤装SQL2016+管理工具://服务端下载地址:ed2k://|file|cn_sql_se......
  • P1967 [NOIP2013 提高组] 货车运输 做题记录
    套路题了。根据和角公式\(\mathrm{\sin(\alpha+\beta)=\sin\alpha\cos\beta+\cos\alpha\cos\beta,\cos(\alpha+\beta)=\cos\alpha\cos\beta-\si......
  • 2023新年红包,兔年HTML红包页面代码【2023新年快乐_附源码】
    一.新年红包,兔年HTML红包页面1.1资源获取和效果预览1.源码资源获取:https://download.csdn.net/download/weixin_52908342/87373505快速通道:点击跳转下载新年红包,兔年......
  • 波澜起伏的2022(身边的风景很美,可以停下来看看)
     前言  昨天晚上和女朋友聊天,突然就问起我2023年的计划拟定好了吗。是啊,恍惚之间,又是一年末尾。不禁想起2022年初的时候,总觉得是昨日的光景,还没走远。  细算......
  • 目标检测模型的评价标准-AP与mAP
    前言一,精确率、召回率与F11.1,准确率1.2,精确率、召回率1.3,F1分数1.4,PR曲线1.4.1,如何理解P-R曲线1.5,ROC曲线与AUC面积二,AP与mAP2.1,AP与mAP指标......
  • 回首2022年,人间不清醒
        说一下目前的经历情况,本人java开发暖男一枚,年初开始在成都找工作,这段时间是最煎熬的,这期间收到过很多叫你面试的,每天都奔波在地铁上,不是在面试就是在面试的路......