JAVA构造MAP并初始化MAP

第一种方法:static块初始化

 

[java] view plain copy
 
  1. public class Demo{  
  2.     private static final Map<String, String> myMap;  
  3.     static  
  4.     {  
  5.         myMap = new HashMap<String, String>();  
  6.         myMap.put("a", "b");  
  7.         myMap.put("c", "d");  
  8.     }  
  9. }  

 

第二种方法:双括号初始化 (匿名内部类)

 

[java] view plain copy
 
  1. HashMap<String, String > h = new HashMap<String, String>(){{  
  2.       put("a","b");      
  3. }};  


 

 
慎用, 非静态内部类/ 匿名内部类包含了外围实例的引用, 如果拥有比外部类更长的生命周期,有内存泄露隐患

第三种方法:Guava

 

[java] view plain copy
 
  1. Map<String, Integer> left = ImmutableMap.of("a", 1, "b", 2, "c", 3);  
  2. //或者  
  3. Map<String, String> test = ImmutableMap.<String, String>builder()  
  4.     .put("k1", "v1")  
  5.     .put("k2", "v2")  
  6.     ...  
  7.     .build();  
posted @ 2017-12-25 20:01  牧之丨  阅读(79112)  评论(2编辑  收藏  举报