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 :

[collection] sort


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [collection] sort
    Bonjour,
    Je vois bien comment trier une collection de string .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Case-insensitive sort
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    // a, C, z
    Mais comment trier une collection d'objet sur base d'un champ ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Class MyObject {
    ...
    String myValue ;
    ...
    }
    Comment faire un sort avec ceci ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    myArrayList.add(MyObject);
    // Avec qqch comme ceci
    // sort(myArrayList,MyObject.myValue);
    Merci d'avance
    Septentryon

  2. #2
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Regarde du côté de l'interface Comparable.

    Ensuite il y a des listes qui sont triées automatiquement (des SortedSet par exemple).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Satch
    Regarde du côté de l'interface Comparable.

    Ensuite il y a des listes qui sont triées automatiquement (des SortedSet par exemple).
    Je dois pouvoir trier différemment selon certain critères.
    Je suis effectivement en train de regarder du coté de comparable mais qu un peut m'aider ?

    en fait mon objet contient une 10 aine de string et je veux trier sur base de chaque string.
    Donc je ne pense pas pouvoir implementer comparable. ?

  4. #4
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Tu pourrais utiliser des Comparator différents suivant les critères selon lesquels tu dois trier.

    La classe Collections a une méthode sort qui prend une liste et un comparateur en arguments.

    Un ptit tour dans la doc pour voir le fonctionnement des comparateurs et c'est bon :)

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

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static void sort(List list, Comparator c)
    dans Collections te permet de trier une liste ne fournissant le comparator spécifique.

    Tun'as plus qu'a créer le comparator adéquate pour comparer tes objets

    ca peut d'ailleurs etre tres minimaliste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class MyObjectComparator implements Comparator {
        public int compare(Object o1, Object o2) {        
            return (MyObject)o1.myValue.compareTo((MyObject)o2.myValue);
        }
    }

  6. #6
    Invité
    Invité(e)
    Par défaut
    Super ca marche du tonnerre !
    ;-)
    Merci merci

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

Discussions similaires

  1. Tri de HashMap avec Collections.sort
    Par opensource dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 09/07/2009, 14h27
  2. Collections.sort() : tri incorrecte.
    Par Quentin D dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 16/03/2009, 17h11
  3. collections + sort + 2 arguments
    Par zorro13 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/02/2008, 13h38
  4. java.util.Collections.sort() je n'y comprends rien
    Par cmako dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 17/09/2007, 14h01
  5. Collections.sort ne fonctionne pas
    Par lex13 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 12/07/2007, 11h13

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