47 votes

Comment puis-je avoir un HashMap avec des clés uniques en Java ?

Comment puis-je avoir un HashMap avec des clés uniques en Java ? Ou bien est-ce que cela a un sens d'avoir des clés uniques dans un HashMap ou bien les clés sont uniques par défaut ? Je suis un débutant. Merci beaucoup.

5 votes

Clés sont unique par défaut. Notez que .keySet() sur un Map renvoie un Set et les éléments de a Set sont uniques par défaut. Si vous tentez d'ajouter une valeur à une clé existante, l'ancienne valeur sera écrasée.

1 votes

Notez que "unique" en Java signifie égal en termes d'implémentation des méthodes equals et hashcode !

60voto

Kushan Points 2808

La clé de la carte de hachage est unique. Si vous ajoutez une clé dupliquée, elle sera écrasée.

 HashMap hm = new HashMap();
 hm.put("1", new Integer(1));
 hm.put("2", new Integer(2));
 hm.put("3", new Integer(3));
 hm.put("4", new Integer(4));
 hm.put("1", new Integer(5));// value integer 1 is overwritten by 5

Par défaut, Hashmap n'est pas synchronisé.

0 votes

Comment faire pour que la relation clé-valeur ne soit pas unique, c'est-à-dire que je veuille aussi la valeur 5 pour la clé 1 ci-dessus ?

0 votes

@VamsiPavanMahesh, vous devrez stocker une sorte de List o Map pour ce correspondant key . Map<String, List<Integer> m = new HashMap<>();

41voto

xpapad Points 2268

Les clés sont uniques dans toutes les cartes. Les différences entre les diverses implémentations de cartes concernent la possibilité de clés nulles, l'ordre d'itération et les questions de concurrence.

2voto

PrimosK Points 5242

Essayez de regarder le API Java pour les cartes qui est l'interface que HashMap met en œuvre. La première phrase est la suivante :

Un objet qui associe des clés à des valeurs. Une carte ne peut pas contenir de clés dupliquées ; chaque clé ne peut correspondre qu'à une seule valeur.

1voto

Anish Mohile Points 148

HasMap a des clés uniques. as .keySet() renvoie Set qui a des membres uniques.

1voto

Rajesh Rao Points 2990

HashMap est une collection permettant de stocker des paires (clé, valeur) et Selon la documentation de HashMap les clés sont toujours uniques.

Si vous ajoutez une clé qui existe déjà dans le hashmap, l'ancienne valeur sera remplacée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X