Collections.unmodifiablemap()和集合,其中读取也会修改

nsf*_*n55 4 java collections

这比任何事情都更像是一个好奇心问题.假设我向Collections.unmodifiableMap()提供了一个LinkedHashMap,其访问顺序设置为true.因为读取实际上正在修改地图.这是否意味着有些情况下unmodifiableMap()返回的视图实际上是可修改的?

public class MyApp {

   /**
   * @param args
   */    
   public static void main(String[] args)    {
     Map<String, String> m = new LinkedHashMap<String,
      String>(16,.75f,true);
      Collections.unmodifiableMap(m);    

    }
Run Code Online (Sandbox Code Playgroud)

}

Chr*_*röm 5

地图正在修改自己.Collections.unmodifiableMap()只为Map提供了一个不允许修改的装饰器,它不会使Map本身不可修改.