创建只读集合

  • JDK8
1
2
3
4
5
6
7
8
//创建一个只读集合
List<String> list = new ArrayList<>();
list.add("MM");
list.add("JJ");
list.add("DD");
list = Collections.unmodifiableList(list);
list.forEach(System.out::println);
// list.add("GG");// 不能再添加,会抛出异常
  • JDK9

List 、 Set、Map 接口都添加了 of 静态方法,Map接口还添加了ofEntries方法,都是创建不可变的集合。

1
2
3
//此时的list是只读的,相应的SetMap 都有对应的of方法,
// Map 还有 ofEntries方法来创建不可变的Map
List<Integer> list = List.of(1,2,3);