Map初始化
转载至:http://blog.csdn.net/dujianxiong/article/details/54849079
第一种方法:static块初始化
public class Demo{ private static final Map<String, String> myMap; static { myMap = new HashMap<String, String>(); myMap.put("a", "b"); myMap.put("c", "d"); } }
第二种方法:双括号初始化 (匿名内部类)
HashMap<String, String > h = new HashMap<String, String>(){{ put("a","b"); }};
慎用, 非静态内部类/ 匿名内部类包含了外围实例的引用, 如果拥有比外部类更长的生命周期,有内存泄露隐患
第三种方法:Guava
Map<String, Integer> left = ImmutableMap.of("a", 1, "b", 2, "c", 3); //或者 Map<String, String> test = ImmutableMap.<String, String>builder() .put("k1", "v1") .put("k2", "v2") ... .build();