Java Collections unmodifiableSortedSet()

unmodifiableSortedMap() 用于获取指定的SortedMap的不可修改视图。

1 语法

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

2 参数

m:要返回其不可修改视图的SortedSet。

3 返回值

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

4 unmodifiableSortedSet()示例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java Collections.unmodifiableSortedSet的例子
 */
import java.util.*;

public class Demo {

    public static void main(String[] args) {
        SortedSet<String> set = new TreeSet<String>();
        //Add values in the set
        set.add("Facebook");
        set.add("Twitter");
        set.add("Whatsapp");
        set.add("Instagram");
        //Create a Unmodifiable sorted set
        SortedSet<String> set2 = Collections.unmodifiableSortedSet(set);
        System.out.println("Unmodifiable Sorted set is :"+set2);
        set.add("Google");
        System.out.println("Unmodifiable Sorted set after modify is:"+set2);
    }
}

输出结果为:

Unmodifiable Sorted set is :[Facebook, Instagram, Twitter, Whatsapp]
Unmodifiable Sorted set after modify is:[Facebook, Google, Instagram, Twitter, Whatsapp]

5 unmodifiableSortedSet()示例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java Collections.unmodifiableSortedSet的例子
 */
import java.util.*;

public class Demo {

    public static void main(String[] args) {
        SortedSet<Integer> set = new TreeSet<>();
        Collections.addAll(set, 1, 9, 7);
        System.out.println("Original Set: " + set);
        SortedSet<Integer> set2 = Collections.unmodifiableSortedSet(set);
        System.out.println("Unmodifiable Sorted Set: " + set2);
        //Modifying the original Set
        set.add(10);
        System.out.println("Unmodifiable Sorted Set: " + set2);
    }
}

输出结果为:

Original Set: [1, 7, 9]
Unmodifiable Sorted Set: [1, 7, 9]
Unmodifiable Sorted Set: [1, 7, 9, 10]

6 unmodifiableSortedSet()示例3

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java Collections.unmodifiableSortedSet的例子
 */
import java.util.*;

public class Demo {

    public static void main(String[] args) {
        SortedSet<Integer> set = new TreeSet<>();
        Collections.addAll(set, 1, 4, 7);
        System.out.println("Original Set: " + set);
        SortedSet<Integer> set2 = Collections.unmodifiableSortedSet(set);
        set2.add(10);
    }
}

输出结果为:

Original Set: [1, 4, 7]
Exception in thread "main" java.lang.UnsupportedOperationException
	at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)
	at com.yiidian.Demo.main(Demo.java:18)

 

热门文章

优秀文章