不可变集合详解

(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:元素不能重复

 

posted @   Linqylin  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示