Que signifie la Carte de la méthode size() renvoie?
J'ai une carte déclarée comme suit -
Map<Date, Long[]> myMap = new TreeMap<Date, Long[]>();
J'ai mis quelques paires clé-valeur dans cette carte, vérifier la taille comme suit -
myMap.size(); //returns 29
myMap.values().size(); //returns 31
Toutes les dates clés sont distinctes.
Ne sont pas ces deux censé renvoyer mêmes valeurs?
Il y a aucune Date d'objets pointant vers le même tableau de la Nostalgie?
Peut-clés point à la même valeur?
Deux
Je pense que nous serions tous mieux si vous nous a montré un petit compilable et exécutable programme qui montre votre problème, un sscce. Nous serions beaucoup mieux en mesure de vous aider si nous avons pu reproduire le problème.
Pas tout à fait une SSCCE. Encore une fois, merci de lire le lien, mais seulement si vous souhaitez notre aide.
Peut-clés point à la même valeur?
Deux
Date
clés peuvent être associés à la même Long[]
valeur, mais cela ne devrait pas provoquer le comportement que vous décrivez (si elle avait un quelconque effet, il devrait être dans l'autre sens).Je pense que nous serions tous mieux si vous nous a montré un petit compilable et exécutable programme qui montre votre problème, un sscce. Nous serions beaucoup mieux en mesure de vous aider si nous avons pu reproduire le problème.
Pas tout à fait une SSCCE. Encore une fois, merci de lire le lien, mais seulement si vous souhaitez notre aide.
OriginalL'auteur Bhesh Gurung | 2011-09-15
Vous devez vous connecter pour publier un commentaire.
Étant donné que la collection retournée par TreeMap les valeurs de (), méthode (dans le JDK 6, au moins) a une taille comme suit:
Je dirais que vous avez quelque chose à ajouter de nouvelles entrées à la carte entre vos deux
size()
appels. Pour être clair,map.values().size()
délégués àmap.size()
. Par conséquent, il n'ya aucun moyen qu'ils peuvent retourner deux valeurs différentes pour la même carte avec le même contenu.Je suppose que c'est un autre thread, et j'ai presque écrit, mais généralisé à juste "quelque chose" parce que vous ne savez jamais...
OriginalL'auteur Ryan Stewart