Je sais que vu le titre cela n'est pas très explicite, je vais essayer de vous détailler mon problème.
Tout cela correspond à un programme qui doit donner le plus court chemin entre deux sommets d'un graphe valué .
Ma structure est ceci :
private HashMap<Sommet,TreeSet<Arc>> graphe;
J'ai donc une classe Sommet qui contient :
privateString nom; privateint plusCourt; // valuation associé au sommet
Et une classe Arc :
private Sommet arrivee; privateint poids;
J'ai crée tous les sommets et tous les arcs. J'ai entré dans la hashmap pour chaque sommet les arcs associés.
Tout cela fonctionne à merveille !
Maintenant je souhaite modifier l'attribut plusCourt pour tous les sommets contenus dans le hashmap.
Et en fait après avoir executé ce code, lorsque je parcours toutes les clés pour afficher la valeur, je n'ai que des null ?!?
En effet j'ai mis ce code avant et après le traitement et cela m'affiche une liste de null après :
Je ne pense pas que tu garde la valeur associé justement.
Essaie la même chose en supprimant la paire <ancienne clé, valeur> et en faisant un graphe.put(nouvelle clé, valeur).
Ca devrait marcher.
[java] valeur non gardée dans hashmap si clé changée
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.