IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

HashSet, probleme de doublon et parcour


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut HashSet, probleme de doublon et parcour
    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 :

    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();			
     
    			}
    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
    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;
    	}
    }
    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 ).

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il faut que ta classe implémente correctement les méthodes hashCode() et equals()...




    a++

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Ok, moi j'étais encore sur la FAQ des débutant
    http://java.developpez.com/faq/java/...info_framework

    Merci, j'espere que je vais m'en sortir

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Re bonjour,

    J'aurais besoin d'une petite precision : est il possible de parcourir mon HashSet avec un indice ?
    Car je possede une double boucle et je souhaite faire ceci :

    for i=0 to fin
    for j=i to fin
    ...

    peut on faire la meme chose en utilisant des iterator ?

  5. #5
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Bonjour,

    en passant par un tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    java.util.HashSet test = new java.util.HashSet();
    Object[] datas = test.toArray();
    for(int i=0; i<datas.length; i++) {
        Object object = datas[i];
    }

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    C'est bien ce que je pensais ...

    Merci et bonne journee.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problemes de doublons...comment les éviter?
    Par paflolo dans le forum Langage SQL
    Réponses: 5
    Dernier message: 28/02/2006, 14h57
  2. [xslt] probleme de doublons
    Par boudha45 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 06/01/2006, 14h09
  3. [requete-sqlserver]probleme de doublons
    Par shirya dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/10/2005, 10h31
  4. Problème de doublon
    Par Oberown dans le forum Schéma
    Réponses: 1
    Dernier message: 09/09/2004, 16h06
  5. Probleme de doublons...
    Par kv000 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/08/2004, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo