HashSet - Java - Programmation
Marsh Posté le 22-05-2007 à 15:14:27
J'ai vu qu'on pouvait également déclarer un HashSet comme ceci :
HahSet <Type> test2 = new HashSet <Type>();
mais j'ai alors les erreurs suivante :
HahSet cannot be resolved to a type
Syntax error, parameterized types are only available if source level is 5.0
The type HashSet is not generic; it cannot be parameterized with arguments <Type>
Marsh Posté le 22-05-2007 à 15:26:55
Ouais faut écrire HashSet au lieu de Hahset surement
et apparemment tu es pas en Java5 donc t'as pas droit aux générics ?
Marsh Posté le 22-05-2007 à 15:44:54
did-54 a écrit : Ouais faut écrire HashSet au lieu de Hahset surement |
Pour le HahSet, c'est juste une faute de copier coller
pour le Java5, j'en sais rien du tout, j'y connais strictement rien, j'ai juste installer eclipse car il parais que c'est plus sympa que le notepad.
Effectivement, ca l'est
Nos profs d'info nous apprennent rarement les truc utiles du genre "C'est quoi une library ... "
Cela dis, pour mon probleme, aparement il faudrait que je redefinisse la méthode HashCode et equals
Marsh Posté le 03-06-2007 à 22:06:01
bonsoir
dans ton HashSet test = new HashSet(); tu jaoutes des Objet String
dans HashSet test2 = new HashSet(); des object Type
Du coup lors de l'ajout de ces objet dans la HashSet java compare les objets via la méthode équals et hashcode (Set est collection a objet unique d'ou le test equal, et hashSet est renforcé par une table de hash)
chaque élément ajouté, recherché ou supprimé font appel à ces méthodes pour calculer le code de hachage des objets et les comparer entre eux. (equals() et hashCode())
Donc redéfinir ces deux méthodes dans ta classe Type
Marsh Posté le 22-05-2007 à 15:06:07
Bonjour
Voila mon probleme :
je dispose d'un Arraylist d'objet "Site", un Site contenant plusieurs parametres dont le code NAF (un string).
Lors de la création de ce tableau, je souhaite récuperer toute les modalités differente de ce code NAF (faire l'équivalent d'un "Select distinct" en SQL)
Pour cela j'utilise donc un HashSet.
Ca marche correctement lorsque que dans mon HashSet je met juste le code Naf.
Et cela ne fonctionne pas quand j'essaye d'inserer un objet "Type" contenant le code Naf. Ca m'affiche des doublons.
voila mon code :
Ma classe Type :
Voila, je ne sais pas comment faire autrement à part bidouller à partir du HashSet "test"
Merci de m'aider car suis pas sur d'avoir bien compris le fonctionnement des HashSet ( et pis de Java en géneral