Java.util.Collections 类

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

语法

public static <T> Set<T> unmodifiableSet(Set<? extends T> s)

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

参数

s

参数

s

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

返回值

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

异常

无。

示例:

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

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建集合对象
    Set<Integer> MySet = new HashSet<Integer>();

    //填充集合
    MySet.add(10);
    MySet.add(20);
    MySet.add(30);
    MySet.add(40);

    //打印集合
    System.out.println("MySet contains: " + MySet); 

    //创建集合的不可修改视图
    Set NewSet = Collections.unmodifiableSet(MySet);

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

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

上述代码的输出将是:

MySet contains: [20, 40, 10, 30]
NewSet contains: [20, 40, 10, 30]

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