不可变集合详解
(1)创建不可变集合的应用场景
1.如果某个数据不能被修改,可把它防御性地拷贝到不可变集合中。
2.当集合对象被不可信的库调用时,不可变形式是安全的。
(2)在List、Set、Map接口中,都存在静态的of方法,可以获取一个不可变的集合。
注意:这个集合不能添加、不能删除、不能修改。
(3)Map里面的of方法,参数是有上限的,最多只能传递20个参数,即最多只能存10个键值对。如果要传递多个键值对对象,数量大于10,可以用以下方法:
1.创建Map一个普通的Map集合,如HashMap
2.利用上面的数据来获取一个不可变的集合hm
法一:
//获取到所有的键值对对象(Entry对象)
Set<Map.Entry<String,String>> entries = hm.entrySet();
//把entries变成一个数组
Map.Entry[ ] arr1 = new Map.Entry[0];
//toArry方法在底层会比较集合的长度跟数组的长度两者的大小
//如果集合的长度>数组的长度:数据在数组中放不下,此时会根据实际数据的个数,重新创建数组
//如果集合的长度<=数组的长度:数据在数组中放的下,此时不会创建新的数组,而是直接用
(4)List:直接用
(5)Set:元素不能重复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律