package com.common.learn;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @author 30378
*
* JDK10中新增73个新功能API类库
* 在java.util.List java.util.Set java.util.Map
* 新增加一个静态方法copyOf 这些方法按照其迭代顺序
* 返回一个不可修改的列表、集合或映射包含了给定的元素的集合
* **/
public class Jdk10Day02 {
/**
* copyOf的方法和使用
* **/
public static void main(String[] args) {
var list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
var list2 = List.copyOf(list);
/**添加元素 报错 **/
/**Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
at java.base/java.util.ImmutableCollections$AbstractImmutableList.add(Unknown Source)
at com.common.learn.Jdk10Day02.main(Jdk10Day02.java:32)
**/
list2.add("e");
for(String str : list2) {
System.out.println(str);
}
var set = new HashSet();
set.add("a");
set.add("b");
set.add("c");
var sets = Set.copyOf(set);
for(String s: sets) {
System.out.println(s);
}
var map = new HashMap();
var maps = Map.copyOf(map);
map.put("key1", "a");
map.put("key2", "b");
map.put("key3", "c");
var keys = maps.keySet();
for(String key : keys) {
System.out.println(key);
}
}
}