2012-10-24 2 views
0

Si j'ai un int[] array = {1, 2, 3} et que je veux initialiser le hashmap avec les valeurs ci-dessous, y at-il une meilleure façon de le faire?initialisation hashmap avec des valeurs préexistantes?

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

Répondre

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

Une autre façon d'initialiser est:

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

Cette création s une sous-classe anonyme de HashMap, qui peut être OK ou non selon les circonstances. Je ne le recommanderais pas sans au moins comprendre le coût/inconvénients. –

1

Si vous utilisez Guava,

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

ou,

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