具有预先存在的值的hashmap初始化?

时间:2012-10-24 23:35:40

标签: java

如果我有一个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);

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:2)

如果您使用Guava

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

,或者

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

答案 2 :(得分:1)

另一种初始化方法是:

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