用Java创建并演示不可变的集合

为了创建和演示Java中的不可变集合,我们使用的unmodifiableCollection()方法。此方法返回集合的不可修改且不变的视图。

声明-java.util.Collections.unmodifiableCollection()方法的声明如下-

public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)

其中c是要返回其不变视图的集合。

让我们看一个程序,以创建和演示Java中的不可变集合-

示例

import java.util.*;
public class Example {
   public static void main (String[] args) {
      ArrayList<Integer> list = new ArrayList<Integer>();
      list.add(10);
      list.add(50);
      list.add(30);
      list.add(20);
      list.add(40);
      list.add(60);
      System.out.println("Original list : " + list);
      Collection<Integer> col = Collections.unmodifiableCollection(list);
      col.add(30);
      System.out.println(col);
   }
}

由于我们尝试将元素添加到不可变集合中,因此程序将引发以下异常-

输出结果

Original list : [10, 50, 30, 20, 40, 60]
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)
at Example.main(Example.java:17)