Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1522 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Suppression dans un HashMap

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Suppression dans un HashMap

n°1010671
Dr_GonZo
Posté le 12-03-2005 à 15:20:25  profilanswer
 

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 :
  1. public Remontee inverse(){
  2.     return new Remontee(nom+" retour",arrivee,depart,open,type);
  3. }


 
 
puis lorsque que j'ajoute un objet de REmontee dans mon HashMap cela donne le code suivant:
 

Code :
  1. private void addRemontee(Remontee a) {
  2.         Vector tmp;
  3.         Remontee r = a.inverse();
  4.         tmp = (Vector) station.get(a.getDepart());
  5.         tmp.addElement(a);
  6.         station.put(a.getDepart(), tmp);
  7.         tmp = (Vector) station.get(r.getDepart());
  8.         tmp.addElement(r);
  9.         station.put(r.getDepart(), tmp);
  10.     }


 
 
Jusqu'ici tout vas bien mes 2 objets seront ajoutés le probleme arrive lors de la suppression
 

Code :
  1. public void remArc(Arc a) {
  2.         Point tmp = a.getDepart();
  3.         Vector liste = (Vector) station.get(tmp);
  4.         liste.remove(a);
  5.         station.put(tmp, liste);
  6.         if (a instanceof Remontee) {
  7.             System.out.println("Je suis un remontee" );
  8.             tmp = a.getArrivee();
  9.             Remontee r = ((Remontee) a).inverse();
  10.             //System.out.println("Element a supprimer: "+r.toString());
  11.             liste = (Vector) station.get(tmp);
  12.             System.out.println("indice " + liste.indexOf(r));
  13.             liste.remove(r);
  14.             //System.out.println(liste.toString());
  15.             station.put(tmp, liste);
  16.         }


 
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

mood
Publicité
Posté le 12-03-2005 à 15:20:25  profilanswer
 

n°1010743
the real m​oins moins
Posté le 12-03-2005 à 16:45:07  profilanswer
 

t'as pas implementé equals() et hashcode() sur ton objet Remontee


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1010791
benou
Posté le 12-03-2005 à 17:54:30  profilanswer
 

petite précision, les put() que tu fais pour remettre le vector que tu as modifié dans la map sont inutiles : le Vector est déjà dans la Map : en faisant get tu ne l'enlèves pas, tu récupère juste une référence sur le Vector => si tu modifies le Vector, il se retrouve aussi modifié dans la Map (puisque c'est le même objet). Pas besoin de le remettre dans la map.


---------------
ma vie, mon oeuvre - HomePlayer
n°1010915
Dr_GonZo
Posté le 12-03-2005 à 20:11:56  profilanswer
 

Bien pour les put() j'avais oublié cette notion de reference :x
 
Sinon pour mon probleme je vais implementer une methode .equals()
pour ce qui est de hashcode() je vois pas trop ce que ca fait, en plus comme j'utilise le hashmap plus pour la map que pour le hash :)

n°1010917
the real m​oins moins
Posté le 12-03-2005 à 20:26:40  profilanswer
 

euh.... [:moule_bite]
 
 
si t'implementes pas les deux, ça marchera pas, de toutes façons.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1011020
benou
Posté le 12-03-2005 à 23:36:07  profilanswer
 

dès que tu mets un objet en tant que clef d'une HashMap tu DOIS implémenter hashCode, c'est obligatoire.
 
si tu veux éclaircir un peu les choses, voilà un (vieux) post où j'explique en gros à quoi ca sert :
http://forum.hardware.fr/forum2.ph [...] 486&cat=10


---------------
ma vie, mon oeuvre - HomePlayer
n°1011149
Dr_GonZo
Posté le 13-03-2005 à 12:21:01  profilanswer
 

TRes interessant le post je met ca en place et je vous dis quoi :)
 
thx


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Suppression dans un HashMap

 

Sujets relatifs
empecher l'apparition du message de suppression d'un onglet[SOAP::Lite] et HashMap
[HTML] Suppression de la barre de défilement verticale d'une tableVBSCRIPT, tri/suppression fichiers
suppression enregistrement et refreshErreur Hibernate : lors de la suppression
[Access]pb de requete de suppression[BATCH] Suppression de fichier en fonction du temps
suppression barre de scrolling horizontale[Script DOS] Suppression fichiers
Plus de sujets relatifs à : Suppression dans un HashMap


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR