Java.util.Collections 类

java.util.Collections.unmodifyingNavigableMap() 方法返回指定可导航map的不可修改视图。

语法

public static <K,V> NavigableMap<K,V> unmodifiableNavigableMap
                                    (NavigableMap<K,? extends V> m)

这里,K和V分别是导航map维护的键和值的类型。

参数

m 指定要返回不可修改视图的可导航map。

返回值

返回指定可导航map的不可修改视图。

异常

无。

示例:

在下面的示例中,java.util.Collections.unmodifyingNavigableMap() 方法返回给定可导航map的不可修改视图。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建一个NavigableMap对象
    NavigableMap<Integer, String> MyMap = new TreeMap<Integer, String>();

    //填充MyMap
    MyMap.put(102, "John");
    MyMap.put(101, "Marry");
    MyMap.put(103, "Kim");

    //打印map
    System.out.println("MyMap contains: " + MyMap); 

    //创建不可修改的导航map视图
    NavigableMap NewMap = Collections.unmodifiableNavigableMap(MyMap);

    //打印不可修改的导航map
    System.out.println("NewMap contains: " + NewMap); 

    //尝试修改NewMap
    NewMap.put(104, "Ramesh");    
  }
}

输出上述代码将是:

MyMap contains: {101=Marry, 102=John, 103=Kim}
NewMap contains: {101=Marry, 102=John, 103=Kim}

Exception in thread "main" java.lang.UnsupportedOperationException
    at java.base/java.util.Collections$UnmodifiableMap.put(Collections.java:1457)
    at MyClass.main(MyClass.java:23)