📜  Java中的集合 unmodifiableSortedMap() 方法及示例

📅  最后修改于: 2022-05-13 01:58:09.588000             🧑  作者: Mango

Java中的集合 unmodifiableSortedMap() 方法及示例

Java.util.Collections类的unmodifiableSortedMap()方法用于返回指定排序映射的不可修改视图。此方法允许模块为用户提供对内部排序地图的“只读”访问权限。对返回的有序映射的查询操作“通读”到指定的有序映射。尝试修改返回的排序地图,无论是直接的、通过它的集合视图,还是通过它的 subMap、headMap 或 tailMap 视图,都会导致 UnsupportedOperationException。

如果指定的排序映射是可序列化的,则返回的排序映射将是可序列化的。

句法:

public static  SortedMap
    unmodifiableSortedMap(SortedMap m)

参数:此方法将排序后的地图作为参数,为其返回不可修改的视图。

返回值:此方法返回指定排序地图的不可修改视图

以下是说明unmodifiableSortedMap()方法的示例

示例 1:

// Java program to demonstrate
// unmodifiableSortedMap() method
// for  value
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
  
        try {
  
            // creating object of SortedMap
            SortedMap
                map = new TreeMap();
  
            // populate the map
            map.put("First", "10");
            map.put("Second", "20");
            map.put("Third", "30");
  
            // make the map unmodifiable
            Map
                unmodsortmap = Collections
                                   .unmodifiableSortedMap(map);
  
            // printing unmodifiablemap
            System.out.println("Initial sorted map value: "
                               + map);
        }
  
        catch (UnsupportedOperationException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
Initial sorted map value: {First=10, Second=20, Third=30}

示例 2:对于UnsupportedOperationException

// Java program to demonstrate
// unmodifiableSortedMap() method
// For UnsupportedOperationException
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
  
        try {
  
            // creating object of SortedMap
            SortedMap
                map = new TreeMap();
  
            // populate the map
            map.put("First", "10");
            map.put("Second", "20");
            map.put("Third", "30");
  
            // make the map unmodifiable
            Map
                unmodsortmap = Collections
                                   .unmodifiableSortedMap(map);
  
            // printing unmodifiablemap
            System.out.println("unmodifiableSortedMap value: "
                               + map);
  
            System.out.println("\nTrying to modify"
                               + " the unmodifiable SortedMap");
            unmodsortmap.put("Forth", "40");
        }
  
        catch (UnsupportedOperationException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
unmodifiableSortedMap value: {First=10, Second=20, Third=30}

Trying to modify the unmodifiable SortedMap
Exception thrown : java.lang.UnsupportedOperationException