Java教程

Java Collections unmodifiableSet()

Java集合类的 unmodifiableSet()方法用于获取不可修改的

语法

以下是 unmodifiableSet()方法的声明:
public static <T> Set<T> unmodifiableSet(Set<? extends T> s)

参数

参数 说明 必需/可选
s 这是要返回不可修改视图的集合。 必需

返回

unmodifiableSet()方法返回指定集合的​​不可修改视图。

异常

不适用

示例1

import java.util.*;
public class CollectionsUnmodifiableSetExample1 {
    public static void main(String[] args) {
        Set<Integer> set = new TreeSet<>();
            Collections.addAll(set, 1,2,3,4,5);
            System.out.println("Initial Set: " + set);
            Set<Integer> set2 = Collections.unmodifiableSet(set);
            System.out.println("Unmodifiable Set: " + set2);
            //Modifying the original set
            set.add(15);
            System.out.println("Unmodifiable Set: " + set2);
          }
}
输出:
Initial Set: [1, 2, 3, 4, 5]
Unmodifiable Set: [1, 2, 3, 4, 5]
Unmodifiable Set: [1, 2, 3, 4, 5, 15]

示例2

import java.util.*;
public class CollectionsUnmodifiableSetExample2 {
    public static void main(String[] args) {
        Set<String> set = new TreeSet<>();
            Collections.addAll(set, "Google", "Facebook", "Instagram");
            System.out.println("Initial Set: " + set);
            Set<String> set2 = Collections.unmodifiableSet(set);
            System.out.println("Unmodifiable Set: " + set2);
            //Modifying the original set
            set.add("Twitter");
            System.out.println("Unmodifiable Set: " + set2);
          }
}
输出:
Initial Set: [Facebook, Google, Instagram]
Unmodifiable Set: [Facebook, Google, Instagram]
Unmodifiable Set: [Facebook, Google, Instagram, Twitter]

示例3

import java.util.*;
public class CollectionsUnmodifiableSetExample3 {
    public static void main(String[] args) {
        Set<Integer> set = new TreeSet<>();
            Collections.addAll(set, 11, 13, 17);
            System.out.println("Original Set: " + set);
            Set<Integer> set2 = Collections.unmodifiableSet(set);
            set2.add(19);
          }
}
输出:
Original Set: [11, 13, 17]
Exception in thread "main" java.lang.UnsupportedOperationException
    at java.base/java.util.Collections$UnmodifiableCollection.add(Collections.java:1056)
    at myPackage.CollectionsUnmodifiableSetExample3.main(CollectionsUnmodifiableSetExample3.java:9)

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4