Java进阶之旅第五天 不可变集合 应用场景 1.如果某个数据不能被修改,把它拷贝到不可变集合中是个很好的实践 2.当集合对象被不可信的库调用时,不可变形式是安全的 3.不可变集合不能修改,只能进行查询 获取方式 在List,Set,Map接口中,都存在静态的of方法,可以获取一个不可变的集合 方法: List.of(),Set.of(),Map.of() 举例代码: List<String> list = List.of("1","2"); 细节 1.当我们要获取一个不可变的Set集合时,里面的参数一定要保证唯一性.(集合的元素具有唯一性) 2.Map集合中键也不能重复 3.Map.of()方法最多只能传递10对键值对,它的底层没有可变参数的方法(原因: 一个方法中不能存在多个可变参数) 4.当我们想要传递多个键值对进入不可变Map集合中时,我们可以使用Map.ofEntries(Entry<? extends K, ? extends V>... entries),它的底层就是将一个键值对看成整体,然后改成可变参数 5.由于Map.ofEntries()方法使用不方便,所以一般常用Map.copyOf()方法的参数是一个Map集合,返回值就是不可变集合 代码演示 //不可变集合 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