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

使用guava創建一個HashMap時,可以這樣。

   Map<String, Object> hashMap  = Maps.newHashMap();

 

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();

這種方式的弊端是map被初始化后不能在進行put操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM