Java.util.Collections 类

java.util.Collections.unmodifyingCollection() 方法返回指定集合的​​不可修改视图。

语法

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

这里,T是集合中元素的类型。

参数

c 指定要返回不可修改视图的集合。

返回值

返回指定集合的​​不可修改视图。

异常

无。

示例:

在示例中下面,java.util.Collections.unmodifyingCollection() 方法返回给定集合的不可修改视图。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建集合列表对象
    Collection<Integer> MyList = new ArrayList<Integer>();

    //填充列表
    MyList.add(10);
    MyList.add(20);
    MyList.add(30);
    MyList.add(40);

    //打印列表
    System.out.println("MyList contains: " + MyList); 

    //创建集合的不可修改视图
    Collection NewList = Collections.unmodifiableCollection(MyList);

    //打印不可修改的集合
    System.out.println("NewList contains: " + NewList); 

    //尝试修改NewList
    NewList.add(50);     
  }
}

上述代码的输出将是:

MyList contains: [10, 20, 30, 40]
NewList contains: [10, 20, 30, 40]

Exception in thread "main" java.lang.UnsupportedOperationException
    at java.base/java.util.Collections$UnmodifiableCollection.add(Collections.java:1060)
    at MyClass.main(MyClass.java:24)