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 : Sélectionner tout - Visualiser dans une fenêtre à part
private HashMap<Sommet,TreeSet<Arc>> graphe;
J'ai donc une classe Sommet qui contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
private String nom; 
	private int plusCourt; // valuation associé au sommet
Et une classe Arc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
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