码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA构造MAP并初始化MAP

时间:2017-12-25 20:55:23      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:tracking   copyto   map   非静态内部类   pop   内存泄露   final   alt   board   

第一种方法: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

标签:tracking   copyto   map   非静态内部类   pop   内存泄露   final   alt   board   

原文地址:https://www.cnblogs.com/exmyth/p/8110942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!