java
复制代码
//不可变集合
System.out.println("---list.of---");
List<String> list = List.of("1","2","3");
for (String s : list) {
System.out.println(s);
}
System.out.println("---set.of---");
Set<String> set = Set.of("1","2","3");
for (String s : set) {
System.out.println(s);
}
System.out.println("---Map.of(键值对有限)---");
Map<String, String> map = Map.of("小明","13","小红","15");
Set<Map.Entry<String, String>> entries = map.entrySet();
for (Map.Entry<String, String> entry : entries) {
System.out.println(entry.getKey()+" = "+entry.getValue());
}
System.out.println("---Map.of(键值对个数会变化)---");
HashMap<String, String> hm = new HashMap<>();
hm.put("小明","13");
hm.put("小红","15");
hm.put("小黑","15");
//最简单的方法Map.copyOf()
System.out.println("---简单---");
Map<String, String> map1 = Map.copyOf(hm);
Set<Map.Entry<String, String>> entries1 = map1.entrySet();
for (Map.Entry<String, String> entry : entries1) {
System.out.println(entry.getKey()+" = "+entry.getValue());
}
//复杂一点的(copyOf()封装的内容(不理解可以尝试看看别的文章
System.out.println("---复杂---");
Map<String, String> entries2 = Map.ofEntries(hm.entrySet().toArray(new Map.Entry[0]));
Set<Map.Entry<String, String>> entries3 = entries2.entrySet();
for (Map.Entry<String, String> entry : entries3) {
System.out.println(entry.getKey()+" = "+entry.getValue());
}