Коллекции unmodifiableSortedMap () метод в Java с примерами

Опубликовано: 1 Марта, 2022

Метод unmodifiableSortedMap () класса java.util.Collections используется для возврата неизменяемого вида указанной отсортированной карты. Этот метод позволяет модулям предоставлять пользователям доступ «только для чтения» к внутренним отсортированным картам. Операции запроса на возвращенной отсортированной карте «читают» до указанной отсортированной карты. Попытки изменить возвращенную отсортированную карту, будь то напрямую, через ее представления коллекции или через ее представления subMap, headMap или tailMap, приводят к исключению UnsupportedOperationException.

Возвращенная отсортированная карта будет сериализуема, если указанная отсортированная карта сериализуема.

Синтаксис:

 общедоступный статический <K, V> SortedMap <K, V>
    unmodifiableSortedMap (SortedMap <K,? расширяет V> m)

Параметры: этот метод принимает отсортированную карту в качестве параметра, для которого должно быть возвращено неизменяемое представление.

Возвращаемое значение: этот метод возвращает неизменяемое представление указанной отсортированной карты.

Ниже приведены примеры, иллюстрирующие метод unmodifiableSortedMap ().

Example 1:

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

Example 2: For 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<String, String>
            SortedMap<String, String>
                map = new TreeMap<String, String>();
  
            // populate the map
            map.put("First", "10");
            map.put("Second", "20");
            map.put("Third", "30");
  
            // make the map unmodifiable
            Map<String, String>
                unmodsortmap = Collections
                                   .unmodifiableSortedMap(map);
  
            // printing unmodifiablemap
            System.out.println("unmodifiableSortedMap value: "
                               + map);
  
            System.out.println(" Trying to modify"
                               + " the unmodifiable SortedMap");
            unmodsortmap.put("Forth", "40");
        }
  
        catch (UnsupportedOperationException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
Output:
unmodifiableSortedMap value: {First=10, Second=20, Third=30}

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