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