网上做ps赚钱的网站,wordpress付费观看,ui手机app界面设计,怎么做微信小说网站吗定义#xff1a;就是集合中的内容不可以被修改。
如何获取不可变集合#xff1f;
List、Set、Map类中提供的静态方法of可用来获取不可变集合。
特点#xff1a;一旦创建完成只可以进行查询#xff0c;不可以增删改。
细节#xff1a;Map集合中的of方法只能添加10个键值…定义就是集合中的内容不可以被修改。
如何获取不可变集合
List、Set、Map类中提供的静态方法of可用来获取不可变集合。
特点一旦创建完成只可以进行查询不可以增删改。
细节Map集合中的of方法只能添加10个键值对。因为of方法中键和值是分开进行传递的不能使用可变参数。
当添加的键值对超过10个时可使用Map中提供的ofEntries方法在这个方法中可以把键和值看作一个整体然后再使用可变参数。
那么这个方法如何使用呢
①获取到所有的键值对对象Entry对象
②使用toArray方法把键值对对象放到数组中去并指明数组中存放的是Entry类型的数据
toArray方法在底层会比较集合的长度跟数组的长度两者的大小
如果集合的长度 数组的长度 数据在数组中放不下此时会根据实际数据的个数重新创建数组。
如果集合的长度 数组的长度数据在数组中放的下此时不会创建新的数组而是直接用。
下面是代码示例
public class Test3 {public static void main(String[] args) {//1.创建一个普通的Map集合HashMapString, String hm new HashMap();hm.put(张三, 南京);hm.put(李四, 北京);hm.put(王五, 上海);hm.put(赵六, 北京);hm.put(孙七, 深圳);hm.put(周八, 杭州);hm.put(吴九, 宁波);hm.put(郑十, 苏州);hm.put(刘一, 无锡);hm.put(陈二, 嘉兴);hm.put(林三, 天津);/*// 把键值对转变为键值对对象并获取SetMap.EntryString, String entries hm.entrySet();// 使用toArray方法把键值对对象放到数组中去并指明数组中存放的是Entry类型的数据Map.Entry[] array entries.toArray(new Map.Entry[0]);// 创建不可变集合Map map Map.ofEntries(array);
*///Map.ofEntries(hm.entrySet().toArray(new Map.Entry[0]));MapString, String map Map.copyOf(hm);}
}在JDK10以后提供了cpoyOf方法就是对ofEntries方法创建不可变集合等代码的抽取。
有一点Map是一个接口然后其中又有一个内部类接口Entry就是键值对对象。