1. 程式人生 > >JAVA 構造 MAP 並初始化 MAP、定義時就初始化

JAVA 構造 MAP 並初始化 MAP、定義時就初始化

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