不可变集合(.of)
public class ImmutableDemo1 {
public static void main(String[] args) {
/*
创建不可变集合
*/
List<String> list= List.of("haha","xiangxiang","xixi");
System.out.println(list);
//list.add("xixi");
for(String s:list){
System.out.println(s);
}
System.out.println("-----------------");
Iterator<String> it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("-----------------");
list.forEach(s-> System.out.println(s));
}
}
------------------------------------
public class ImmutableDemo2 {
public static void main(String[] args) {
//不可变map集合最多只能存放10个键值对
//如果超过10个键值对,会抛出异常
//如果想存放更多的键值对
Map<String,String> map=new HashMap<>();
map.put("001","zhangsan");
map.put("002","lisi");
map.put("003","wangwu");
map.put("004","zhaoliu");
Set<Map.Entry<String, String>> entries = map.entrySet();
//把entries变成一个数组
//要指定类型
//如果数组长度不够,会自动扩容,所以直接设置0就行
Map.Entry<String,String>[] arr = entries.toArray(new Map.Entry[0]);
//创建不可变的map集合
Map<String, String> map1 = Map.ofEntries(arr);
System.out.println(map1);
//简化
Map.Entry<String,String>[] arr1 = map.entrySet().toArray(new Map.Entry[0]);
//常用方法
//直接用copyOf方法,传入一个map集合,即可返回一个不可变的map集合
Map<String, String> map2 = Map.copyOf(map);
System.out.println(map2);
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!