Java.util.Collections 类

java.util.Collections.unmodifyingSortedSet() 方法返回指定排序集的不可修改视图。

语法

public static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<T> s)

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

参数

s 指定要返回不可修改视图的排序集。

返回值

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

异常

无。

示例:

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

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建一个SortedSet对象
    SortedSet<Integer> MySet = new TreeSet<Integer>();

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

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

    //创建排序集的不可修改视图
    SortedSet NewSet = Collections.unmodifiableSortedSet(MySet);

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

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

上述代码的输出将是:

MySet contains: [10, 20, 30, 40]
NewSet 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)