Suppression dans une LinkedList
Bonjour,
j'ai déjà eu des soucis avec la méthode remove() de la classe LinkedList et grâce à des personnes de ce forum j'ai tout réglé en redéfinissant la méthode equals() dans la classe des éléments de ma liste. Seulement voilà, si à un endroit de mon code tout fonctionne parfaitement, plus loin (alors qu'il s'agit d'une LinkedList contenant des éléments de même type que précédemment, en l'occurence des ModuleTree) j'ai la même erreur que la première fois, à savoir il ne supprime rien du tout.
A quoi peut être dû cette différence pour le moins étrange ?
voici le premier endroit où j'utilise remove() et où tout fonctionne :
Citation:
ModuleTree Mr2 = TmSauve.MTmod(rI);
ModuleTree Ntemp = (ModuleTree) MtN.clone();
LinkedList EnfantN = (LinkedList) Ntemp.getChildren().clone();
EnfantN.remove(Mr2);
et voici le second qui ne supprime rien de la liste :
Citation:
ModuleTree MtNTh = Th.MT(N,"P").clone();
ModuleTree pereMtNTh = Th.pere(MtNTh);
LinkedList enfantsMtNThP = (LinkedList) pereMtNTh.getChildren().clone();
enfantsMtNThP.remove(MtNTh);
Il est bien entendu que j'ai vérifié ce que renvoyait chaque sous fonction utilisée. MtNTh contient bien un ModuleTree présent dans la liste.
Merci de votre aide.