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

Collection et Stream Java Discussion :

[Débutant] Acceder à l'élément d'un set


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 31
    Points : 18
    Points
    18
    Par défaut [Débutant] Acceder à l'élément d'un set
    Bonjour !
    Voici ma question, dont je pense que la réponse sera très courte ! (je viens de chercher sur le forum et la FAQ mais je n'ai pas trouvé, peut etre parce que ça coule de source...et ma source n'est pas très fraiche ce matin !).

    Comment j'accède à l'élément d'un set, déclaré de cette façon :
    Set set = new HashSet();

    Merci d'avance les amis !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Bonjour,
    Un set est une collection non ordonnée tu ne peux donc pas accedé a un element particulier directement par contre tu peux recuperer un Iterator dessus et parcourir la collection entiere , mais la javadoc te diras mieux que moi ce que tu peux faire sur un HashSet :
    http://java.sun.com/j2se/1.4.2/docs/...l/HashSet.html

  3. #3
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    et bien itérer sur le set est une méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Iterator anIterator=set.iterator();
    while (anIterator.hasNext())
    {
       Object elem=anIterator.next();
       //...
    }
    [EDIT] grilled

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Ok merci bien, c'est pour ça que je ne trouvais pas de lignes de code explicites.
    J'avais commencé par faire un itérateur et je m'étais ravisé, au cas où cela aurait pu être plus simple, mais tant pis...je vais utiliser cette méthode !
    Merci beaucoup !

  5. #5
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    il est preferable de declarer elem hors de la boucle, pour reutiliser le meme espace memoire a chaque tour de boucle plutot que de faire travailler le gc inutilement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Iterator anIterator=set.iterator();
    Object elem;
    while (anIterator.hasNext())
    {
       elem=anIterator.next();
       //...
    }
    avec un for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Object elem;
    for (Iterator i=set.iterator(); i.hasNext(); elem=anIterator.next();)
    {
       //...
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par pinggu
    Ok merci bien, c'est pour ça que je ne trouvais pas de lignes de code explicites.
    J'avais commencé par faire un itérateur et je m'étais ravisé, au cas où cela aurait pu être plus simple, mais tant pis...je vais utiliser cette méthode !
    Merci beaucoup !
    Mais tu peux utiliser d'autres type de collections comme ArrayList qui permet les acces direct via un index.

  7. #7
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    Citation Envoyé par FreshVic
    Mais tu peux utiliser d'autres type de collections comme ArrayList qui permet les acces direct via un index.
    sauf que les ArrayList permettent les doublons...

  8. #8
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    et depuis java 5
    avec un for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for (object elem : set)
     {//traitement sur elem}

  9. #9
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    Citation Envoyé par dazz_x
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for (object elem : set)
     {//traitement sur elem}
    quand meme ! ca me plait cette nouvelle boucle for

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

Discussions similaires

  1. Test de l'existence d'un élément dans un set
    Par Rodrigue dans le forum C++
    Réponses: 16
    Dernier message: 28/10/2006, 01h36
  2. [Débutant] acceder à une map en C
    Par mouss31 dans le forum C
    Réponses: 2
    Dernier message: 18/10/2006, 14h47
  3. Réponses: 3
    Dernier message: 11/04/2006, 11h41
  4. [Débutant] regroupement d'éléments dans une listBox
    Par fast&furious dans le forum Access
    Réponses: 2
    Dernier message: 15/10/2005, 15h05
  5. [SET]Recherche d'éléments communs à 2 sets
    Par CappCorp dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 03/01/2005, 17h03

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