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

Java Discussion :

Trier une HashSet


Sujet :

Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 112
    Par défaut Trier une HashSet
    Bonjour tout le monde,
    je veux trier une collection d'objet de type HashSet (trie par nom d'étudiant)

    Set<Etudiant> set = new HashSet<Etudiant>();

    comment faire ??
    merci d'avance ...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Par défaut
    Salut Ilias,

    Je pense que le plus simple est d'utiliser un TreeSet. C'est en fait une collection d'objets uniques triés automatiquement à chaque ajout.
    Avec ton code ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set<Etudiant> set = new TreeSet<Etudiant>();
    Il faudra par contre bien veillez à ce que le classe Etudiant définisse une methode compareTo qui compare deux étudiant, du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Etudiant implements Comparable<Etudiant> {
    ...
    public int compareTo(Etudiant etudiant)
    {
        return this.getNom().compareTo(etudiant.getNom());
    }
    ...

  3. #3
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Citation Envoyé par iliass001 Voir le message
    je veux trier une collection d'objet de type HashSet (trie par nom d'étudiant)
    Ce n'est pas possible. L'ordre de stockage d'un HashSet n'est pas garantie, comme précisé dans la javadoc :
    Citation Envoyé par javadoc
    It makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time.
    Pour pouvoir choisir l'ordre, il faut utiliser un set qui le propose. Par exemple TreeSet, comme proposé par Bludwarf.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 112
    Par défaut
    re bonjour,

    c'est bon, j'ai utilisé TreeSet et ça marche

    Bludwarf et hwoarang merci à vous

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

Discussions similaires

  1. [VB.NET] Trier une table de mon DataSet
    Par San Soussy dans le forum ASP.NET
    Réponses: 3
    Dernier message: 03/03/2005, 17h30
  2. Comment trier une DBGRID en cliquant sur une colonne
    Par sessime dans le forum Bases de données
    Réponses: 8
    Dernier message: 09/10/2004, 16h18
  3. [Debutant(e)]Trier une liste
    Par LeDébutantJava dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 19/08/2004, 12h44
  4. [langage] Trier une hastable
    Par Gogoye dans le forum Langage
    Réponses: 11
    Dernier message: 03/08/2004, 16h43
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

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