Java教程

Java Collections unmodifiableMap()

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

语法

以下是 unmodifiableMap()方法的声明:
public static <K,V> Map<K,V> unmodifiableMap(Map<? extends K, ? extends K> m)

参数

参数 说明 必需/可选
m 这是要为其返回不可修改视图的地图。 必需

返回

unmodifiableMap()方法返回指定地图的不可修改视图。

异常

不适用

示例1

import java.util.*;
public class CollectionsUnmodifiableMapExample1 {
    public static void main(String[] args) {
          //Create object of hash map and Add values in the map
        HashMap<String,String> map = new HashMap<String,String>();
        map.put("key1", "Java");
        map.put("key2", "Android");
        map.put("key3", "JavaScript");
        System.out.println("Initial collection: "+map);
        //Create unmodifiable map
        Map<String,String> map2 = Collections.unmodifiableMap</span>(map);
        System.out.println("Unmodifiable Map: " + map2);       
        map.put("key4", "lidihuo");
        System.out.println("Unmodifiable Map after adding: " + map2);
        }
}
输出:
Initial collection: {key1=Java, key2=Android, key3=JavaScript}
Unmodifiable Map: {key1=Java, key2=Android, key3=JavaScript}
Unmodifiable Map after adding: {key1=Java, key2=Android, key3=JavaScript, key4=lidihuo}

示例2

import java.util.*;
public class CollectionsUnmodifiableMapExample2 {
    public static void main(String[] args) {
          Map<Integer, String> map = new HashMap<>();
        map.put(1, "one");
        map.put(2, "two");
        System.out.println("Initial Unmodifiable Map: "+map);
        Map<Integer, String> map2 = Collections.unmodifiableMap</span>(map);
        map2.put(3, "three");
        }
}
输出:
Initial Unmodifiable Map: {1=one, 2=two}
Exception in thread "main" java.lang.UnsupportedOperationException
    at java.base/java.util.Collections$UnmodifiableMap.put(Collections.java:1453)
    at myPackage.CollectionsUnmodifiableMapExample2.main(CollectionsUnmodifiableMapExample2.java:10)

示例3

import java.util.*;
public class CollectionsUnmodifiableMapExample3 {
    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<>();
        map.put(1, 1001);
        map.put(2, 1002);
        map.put(3, 1003);
        map.put(4, 1004);
        map.put(5, 1005);
        System.out.println("Unmodifiable map: " + map);      
        Map<Integer, Integer> map2 = Collections.unmodifiableMap</span>(map);  
          map.remove(4, 1004);                 
              System.out.print("Unmodifiable map after remove(4, 1004): "+map2);
          }
}
输出:
Unmodifiable map: {1=1001, 2=1002, 3=1003, 4=1004, 5=1005}
Unmodifiable map after remove(4, 1004): {1=1001, 2=1002, 3=1003, 5=1005}

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