OVH Cloud OVH Cloud

Hashtable et ArrayList

8 réponses
Avatar
Jérôme
Bonjour à tous.
Voila j'ai un probleme je voudrai ajouter des éléments dans un Hashtable et
ça foire.
Voici mon code :

Je suis dans une classe A :
BaseRegles est un Hashtable

//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}

Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.
Merci de votre aide !
A bientot
Jérôme

8 réponses

Avatar
Jérôme
Ha oui j'ai oublié de préciser j'ai exactement le meme probleme avec une
ArrayList d'ou le nom du post.
;)
Merci


"Jérôme" a écrit dans le message de news:
3fdb4344$0$17106$
Bonjour à tous.
Voila j'ai un probleme je voudrai ajouter des éléments dans un Hashtable
et

ça foire.
Voici mon code :

Je suis dans une classe A :
BaseRegles est un Hashtable

//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}

Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.
Merci de votre aide !
A bientot
Jérôme




Avatar
Jérôme
Reg.GetIdent() renvoie un type String

"mehdi kasmi" a écrit dans le message de
news:3fdb54d0$0$6978$
ta méthode Reg.GetIdent(), te renvoie quoi comme type ?
ta key ne doit pas etre d'un type primitif (int, boolean, double ....)


"Jérôme" wrote in message
news:3fdb4344$0$17106$
Bonjour à tous.
Voila j'ai un probleme je voudrai ajouter des éléments dans un Hashtable
et

ça foire.
Voici mon code :

Je suis dans une classe A :
BaseRegles est un Hashtable

//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}

Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.
Merci de votre aide !
A bientot
Jérôme








Avatar
Jérôme
Non je les affiche tous ils sont niquel pas un seul ne foire.

"mehdi kasmi" a écrit dans le message de
news:3fdb58d6$0$6972$
est ce que un de tes string est null ?



"Jérôme" wrote in message
news:3fdb57fe$0$29079$
Reg.GetIdent() renvoie un type String

"mehdi kasmi" a écrit dans le message de
news:3fdb54d0$0$6978$
ta méthode Reg.GetIdent(), te renvoie quoi comme type ?
ta key ne doit pas etre d'un type primitif (int, boolean, double ....)


"Jérôme" wrote in message
news:3fdb4344$0$17106$
Bonjour à tous.
Voila j'ai un probleme je voudrai ajouter des éléments dans un
Hashtable



et
ça foire.
Voici mon code :

Je suis dans une classe A :
BaseRegles est un Hashtable

//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}

Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres
le




Hashtable BaseRegles.
Je l'affiche et il est vide.
Merci de votre aide !
A bientot
Jérôme
















Avatar
mehdi kasmi
ta méthode Reg.GetIdent(), te renvoie quoi comme type ?
ta key ne doit pas etre d'un type primitif (int, boolean, double ....)


"Jérôme" wrote in message
news:3fdb4344$0$17106$
Bonjour à tous.
Voila j'ai un probleme je voudrai ajouter des éléments dans un Hashtable
et

ça foire.
Voici mon code :

Je suis dans une classe A :
BaseRegles est un Hashtable

//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}

Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.
Merci de votre aide !
A bientot
Jérôme




Avatar
mehdi kasmi
est ce que un de tes string est null ?



"Jérôme" wrote in message
news:3fdb57fe$0$29079$
Reg.GetIdent() renvoie un type String

"mehdi kasmi" a écrit dans le message de
news:3fdb54d0$0$6978$
ta méthode Reg.GetIdent(), te renvoie quoi comme type ?
ta key ne doit pas etre d'un type primitif (int, boolean, double ....)


"Jérôme" wrote in message
news:3fdb4344$0$17106$
Bonjour à tous.
Voila j'ai un probleme je voudrai ajouter des éléments dans un
Hashtable



et
ça foire.
Voici mon code :

Je suis dans une classe A :
BaseRegles est un Hashtable

//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}

Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.
Merci de votre aide !
A bientot
Jérôme












Avatar
Nicolas Delsaux
Le 13.12 2003, Jérôme s'est levé et s'est dit : "tiens, si j'écrivais
aux mecs de fr.comp.lang.java ?"

Bonjour à tous.
Voila j'ai un probleme je voudrai ajouter des éléments dans un
Hashtable et ça foire.


Salut, ta définition de ton problème ne me semble pas tout à fait assez
claire.

Voici mon code :

Je suis dans une classe A :
BaseRegles est un Hashtable


Pourquoi BaseRegles est-il une Hashtable plutôt qu'une Map ?

//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
Es-tu sûr que ni ta clé ni ta valeur ne sont null ? si l'un des deux l'est,

une exception sera renvoyée.
}

Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.


Qu'est-ce que tu affiches ? La Hashtable ? Et quand tu dis "elle est vide",
en es-tu sûr ?
Qu'est-ce qui est affiché exactement de cette hashtable ? Le résultat de
toString ?
Penses aussi à afficher le résultat de BaseRegles.size() !


--
Nicolas Delsaux
"Quand les chaussettes sont là, les trous ne sont pas loin derrière."
Terry Pratchett

Avatar
Benoît Chauvet
Jérôme wrote:
//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}


Cette méthode a l'air bonne (à part le fait que ta variable d'instance
BaseRegles et ta méthode GetIdent() sont préfixées par une majuscule ce qui
est contraire à l'usage, mais rien de grave en soi...)


Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.


Es-tu certain de travailler sur la même instance de ton objet ? Est-il
possible que tu remplisses BaseRegles pour un objet, et que tu en renvoies
un autre (dans lequel BaseRegles serait vide).

La ligne
this.BaseRegles.put(Reg.GetIdent(), Reg);
Renvoie-t'elle une exception ? (catchée dans le code appelant AjouterRegle)
Si tu as un NPE, il est possible que tu aies oublié d'initialiser BaseRegles
(par un BaseRegles = new Hashtable();)

Montres-nous aussi la routine d'affichage de BaseRegles. C'est peut-être
tout simplement elle qui est fausse.

--
Orabîg

Avatar
Jérôme
C'est bon g touvé.
Petit probleme d'allocation des objets stockés dans le hash.
Merci !
Jérôme

"Benoît Chauvet" a écrit dans le message de
news:brjp6m$foq$
Jérôme wrote:
//Ajout d'une regle dans la base de regles
public void AjouterRegle(Regle Reg){
Reg.Afficher();
this.BaseRegles.put(Reg.GetIdent(), Reg);
}


Cette méthode a l'air bonne (à part le fait que ta variable d'instance
BaseRegles et ta méthode GetIdent() sont préfixées par une majuscule ce
qui

est contraire à l'usage, mais rien de grave en soi...)


Pourtant l'affichage de la règle me donne les données exactes.
A la fin de la fonction je retourne un objet contenant entre autres le
Hashtable BaseRegles.
Je l'affiche et il est vide.


Es-tu certain de travailler sur la même instance de ton objet ? Est-il
possible que tu remplisses BaseRegles pour un objet, et que tu en renvoies
un autre (dans lequel BaseRegles serait vide).

La ligne
this.BaseRegles.put(Reg.GetIdent(), Reg);
Renvoie-t'elle une exception ? (catchée dans le code appelant
AjouterRegle)

Si tu as un NPE, il est possible que tu aies oublié d'initialiser
BaseRegles

(par un BaseRegles = new Hashtable();)

Montres-nous aussi la routine d'affichage de BaseRegles. C'est peut-être
tout simplement elle qui est fausse.

--
Orabîg