Map日常--Map的复制,Map不可修改UnsupportedOperationException

来源:互联网 发布:唱歌声卡软件下载 编辑:程序博客网 时间:2024/06/05 06:32


本次练习涉及到:

  1. 初始化一个static 的常量Map
  2. 设置Map为不可修改
  3. UnsupportedOperationException 异常
  4. Map的复制

package Collection;import java.util.Collections;import java.util.LinkedHashMap;import java.util.Map;public class CreateMap {private static Map<String,String> map;static {//按照存入顺序的Mapmap = new LinkedHashMap();map.put("key1", "value1");map.put("key3", "value3");map.put("key2", "value2");}public static void main(String[] args) {CreateMap cm = new CreateMap();cm.map.put("test", "test");// java中提供了很多方法都可以实现对一个Map的复制,但是那些方法不见得会时时同步。// 简单说,就是一个Map发生的变化,而复制的那个依然保持原样。下面是一个比较高效的实现方法Map<String,String> copiedMap = Collections.synchronizedMap(map);cm.setUnmodifiable();copiedMap.put("test2", "test2");//不会报错cm.map.put("test2", "test2");//报错}public void setUnmodifiable(){//进制修改,修改会抛出UnsupportedOperationException异常来禁止修改。this.map = Collections.unmodifiableMap(map);}}


0 0
原创粉丝点击