1. 程式人生 > >JAVA構造MAP並初始化MAP

JAVA構造MAP並初始化MAP

popu 初始化 table 擁有 內存泄露 dem () private clip

第一種方法: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();

JAVA構造MAP並初始化MAP