2012-10-24 37 views
0

如果我有一个int[] array = {1, 2, 3},我想用下面的值初始化hashmap,有没有更好的方法来做到这一点?散列映射初始化与预先存在的值?

Map<Integer,Boolean> map = new HashMap<Integer,Boolean>(); 
      map.put(1,false); 
      map.put(2,false); 
      map.put(3,false); 

回答

7
for (int i: array) { 
    map.put(i, false); 
} 
1

另一个初始化的方法是:

Map<Integer,Boolean> map = new HashMap<Integer, Boolean>() { 
          { 
           put(1,false); 
           put(2,false); 
           put(3,false); 
          } 
+2

此创建是HashMap的一个匿名子类,根据您的情况可能会也可能不会。如果没有至少了解成本/缺点,我不会推荐它。 –

1

如果使用Guava

ImmutableMap.of(1, false, 2, false, 3, false); 

,或者

ImmutableMap.builder().put(1, false).put(2, false).put(3, false).build()