
Envoyé par
BugFactory
1. Les sets renvoyés par les méthodes keySet ne sont pas ordonnés. Les arrayLists, si. Par conséquent, on peut avoir m1.keySet().equals(m2.keySet()) vrai mais l1.equals(l2) faux.
2.
1 2
| if (i==l1.size()){
if (!Egal(m1.get(l1.get(i)), m2.get(l1.get(i)))){ |
Si i == l1.size(), alors l1.get(i) plantera. L'index varie de 0 à l1.size() - 1.
Avez vous une exception dans la console?
Même remarque, mais deux lignes plus haut (et en mode debug, j'imagine que s'il devait y avoir une exception dans la console, ça serait encore plus loin après le while)
Egal(m1.get(l1.get(i)), m2.get(l1.get(i)))&&i<l1.size()
Après le test du dernier élément, lorsque i == l1.size(), i<l1.size() est testé après Egal(m1.get(l1.get(i)), m2.get(l1.get(i))).
Un IndexOutOfBoundsException est plus que probable.
Partager