Le stockage de la Clé, la Valeur de la Paire à l'aide de java
Je voudrais savoir quelle est la meilleure structure de données utilisée en java appropriées pour des senario.
- Il y a une clé et une valeur.
- Et la clé n'est pas dupliqué,
- Chaque Valeur doit stocker une collection d'objets où les valeurs dans chaque objet va changer fréquemment.
Grâce.
HashMap est mieux...vous pouvez ajouter synchroined dans votre code, si vous le voulez thread-safe pour HashMap. vous pouvez également utiliser ConcurrentHashMap(moins souhaitable) qu'il est synchronisé.
reportez-vous à docs
Sonne comme vous voulez Multimap.
reportez-vous à docs
Sonne comme vous voulez Multimap.
OriginalL'auteur Awinash | 2013-11-09
Vous devez vous connecter pour publier un commentaire.
HashMap devrait servir votre besoin.
HashMap vous permet de stocker des paires clé-valeur en tant que collection. HashMap ne permet pas de doubles de clés. Vous pouvez utiliser différentes collections pour être stockée en tant que valeur dans votre table de hachage. Par exemple, pour créer une carte avec des touches comme une Chaîne de caractères et la valeur comme une liste, la définir comme ceci:
Aussi il y a des implémentations pour la collecte appelé MultiMap je.e carte où une touche est associée avec la collection de valeurs. Deux populaires implemantations de MultiMap:
Sans que l'utilisateur demande à qui la structure de données qu'il peut utiliser.
J'ai essayé mais impossible d'ajouter des valeurs à la liste. Pouvez-vous svp m'aider en fournissant des exemples de code comment aborder
Lorsque la question est "j'ai besoin de quelque chose qui a des clés et des valeurs", pas beaucoup sépare un commentaire et une réponse.
Vous devez créer la Liste si pas présent dans son exemple. Ex. Si vous souhaitez insérer une clé avec une valeur B de type T, vous devez faire une Liste<T> mappedValue=hashMap.get(A); mappedValue=(mappedValue==null) ? new ArrayList<T>() : mappedValue; mappedValue.add(B); hashMap.mettre(Un,mappedValue);
OriginalL'auteur Juned Ahsan
Un type de carte. Vous n'êtes pas beaucoup dire à part "j'ai besoin d'une clé-valeur bidule". Si vous avez besoin d'itérer la carte par ordre d'insertion, il y a une LinkedHashMap. Si vous avez besoin d'itérer la carte par ordre croissant ou décroissant des valeurs de clé, il y a triés cartes. Si la carte sera partagé par plusieurs threads d'un simultanée de la carte sera utile. Si il y aura des milliards d'éléments dans la liste et vous n'avez pas l'esprit hemorraghing de données (dire que c'est un algorithme de mise en cache), un WeakHashMap est fait pour vous.
Si par "la clé n'est pas dupliqué" tu veux dire que c'est une violation si une clé est insérée si elle existe déjà, vous avez quelques options.
OriginalL'auteur Lan