创建不可变集合
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}
注意:
-
上述创建的不可变集合传入数组中的元素不能有null值,原数组修改不会影响创建的集合,创建的集合也不能修改,详细原因https://www.cnblogs.com/blanset/p/16857376.html
-
Map参数最多只能20个,也就是10个键值对
-
如果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()