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

avec Java Discussion :

Affichage du HashSet


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nypahe
    Inscrit en
    Novembre 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 174
    Par défaut Affichage du HashSet
    Bonjour
    Je manipule un HashSet et pour lister le contenu, je fais le while ci-dessous.
    Mais il se trouve que j'affiche juste 2 elements, alors qu'il en contient 4,
    il y a une raison?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Iterator iterator =monSet.iterator();
    while(iterator.hasNext()) 	{
    				System.out.println(iterator.next());
    				String as = (String) iterator.next();
    				//affiche(as, p);
    			}
    Lorsque je debugge, voici le message contenu dans iterator avant execution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.util.HashMap$KeyIterator@95c083

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.out.println(iterator.next());
    	String as = (String) iterator.next();
    Tu fais deux fois appel à la méthode iterator.next(). Du coup à chaque itération de la boucle tu "avances" de deux dans ton iterator.

  3. #3
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Tout simplement parce que tu fais 2 fois dans ta boucle
    iterator.next()
    Donc tu fais déplacer l'iterateur 2 fois au lieu d'une.

    Maintenant utiliser des iterateurs n'est plus nécessaire.

    Utilises pour cela plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(String var : monSet) {
    System.out.println(var);
    }

  4. #4
    Membre confirmé Avatar de nypahe
    Inscrit en
    Novembre 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 174
    Par défaut
    Merci,
    vous auriez compris, que je suis à mes debut avec les Set

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

Discussions similaires

  1. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  2. [VB6] [Flexgrid] Format d'affichage des numériques
    Par yansolo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/10/2002, 21h00
  3. Affichage de documents PDF
    Par Dajon dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/10/2002, 11h36
  4. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43
  5. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00

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