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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 ... HashSet test = new HashSet(); HashSet test2 = new HashSet(); ... while (ligne_lu!=null ){ StringTokenizer T = new StringTokenizer(ligne_lu, "\t"); String naf = T.nextToken(); int x = Integer.parseInt(T.nextToken()); int y = Integer.parseInt(T.nextToken()); Site site = new Site(naf,x,y); les_sites.ajouterUnSite(site); Type type = new Type(naf); test.add(naf); // La ca marche nickel test2.add(type); // La ca ne marche plus, j'ai des doublons ligne_lu = Br.readLine(); }
Voila, je ne sais pas comment faire autrement à part bidouller à partir du HashSet "test"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public class Type { private String NAF; // code NAF // private int Na=0; // Na : Somme des sites de meme type //Constructeur public Type(String naf) { NAF = naf; } public Type() { } // Méthode public void afficher(){ System.out.println("Type : "+ getNAF()); } // Accesseurs et Mutateurs public String getNAF() { return NAF; } public void setNAF(String naf) { NAF = naf; } }
Merci de m'aider car suis pas sur d'avoir bien compris le fonctionnement des HashSet ( et pis de Java en géneral ).
Partager