Bonjour,
comment se code la méthode equals pour une Map ?
Bonjour,
comment se code la méthode equals pour une Map ?
Tu peux parcourir toutes Map.Entry de ta map en faisant entrySet(), puis comparer les clés et les valeurs.
Question : pourquoi tu ne fais pas directement :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public class MaMap extends Map<Couple, List<String>>
C'est ça qui ne va pas :
Tu ne peux pas à ce moment savoir que les maps sont égales.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(liste1.get(i).equals(liste2.get(j))) return true;
Il faut faire :
Et à la fin de ta méthode equals, remplacer le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(!liste1.get(i).equals(liste2.get(j))) return false;
par un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return false;
Si on est arrivé à la fin, c'est qu'on a rien vu de différent, donc tout est pareil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return true;
P.S. : même question de pourquoi pas faire de l'héritage ? Quel intérêt d'avoir un attribut Map ???
Partager