Bonjour,
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 :
Code :
- private HashMap<Sommet,TreeSet<Arc>> graphe;
|
J'ai donc une classe Sommet qui contient :
Code :
- private String nom;
- private int plusCourt; // valuation associé au sommet
|
Et une classe Arc :
Code :
- private Sommet arrivee;
- private int 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.
Code :
- for(Sommet s: graphe.keySet()){
- if(s.getNom()==depart)
- {
- sommetDepart = s;
- s.setPlusCourt(0);
- }
- else
- {
- s.setPlusCourt(3000);
- }
- }
|
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 ?!? Logiquement si je modifie une clé elle devrait garder sa valeur associé dans le hashmap ?
Merci de m'éclairer la dessus.
Louis