Bonjour voila je voudrais supprimer un objet dans un HashMap mais je n'arrive pas à le recuperer.
Le sujet consiste a simuler une station de ski sous forme de graphe.
En fait je créé l'objet stocké a partir d'un autre objet
Code :
- public Remontee inverse(){
- return new Remontee(nom+" retour",arrivee,depart,open,type);
- }
|
puis lorsque que j'ajoute un objet de REmontee dans mon HashMap cela donne le code suivant:
Code :
- private void addRemontee(Remontee a) {
- Vector tmp;
- Remontee r = a.inverse();
- tmp = (Vector) station.get(a.getDepart());
- tmp.addElement(a);
- station.put(a.getDepart(), tmp);
- tmp = (Vector) station.get(r.getDepart());
- tmp.addElement(r);
- station.put(r.getDepart(), tmp);
- }
|
Jusqu'ici tout vas bien mes 2 objets seront ajoutés le probleme arrive lors de la suppression
Code :
- public void remArc(Arc a) {
- Point tmp = a.getDepart();
- Vector liste = (Vector) station.get(tmp);
- liste.remove(a);
- station.put(tmp, liste);
- if (a instanceof Remontee) {
- System.out.println("Je suis un remontee" );
- tmp = a.getArrivee();
- Remontee r = ((Remontee) a).inverse();
- //System.out.println("Element a supprimer: "+r.toString());
- liste = (Vector) station.get(tmp);
- System.out.println("indice " + liste.indexOf(r));
- liste.remove(r);
- //System.out.println(liste.toString());
- station.put(tmp, liste);
- }
|
Lors de la recherche par indice il me renvoie -1 dc pas trouvé pourtant les caracteristique des 2 objets sont identiques....
Si quelqu'1 pouvait m'aider
Merci d'avance