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 :

Tri d'un tableau


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut Tri d'un tableau
    Bonjour à tous,

    Malgré mes recherches sur internet je n'ai pas trouvé de solution à ce que je veux faire alors j'espère qu'ici quelqu'un pourra m'expliquer (avec de mots simples) la marche à suivre.

    J'ai crée un tableau d'objet et cette objet a des attributs Nom,Code, Identifiant...

    Alors voila je voudrai que le tri se fasse sur l'Identifiant qui est un String, j'ai bien vu qu'il existait Arrays.sort mais je ne sais pas comment l'utiliser dans ce cas .

    D'avance je vous remercie pour l'aide que vous mapporterez


    PS : j'espère avoir posté ma demande au bonne endroit.

  2. #2
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Regarde par ici au chaipitre "Comparaison d'éléments de tableau"

    Il suffit de redéfinir la méthode public int compareTo(Object obj) ; dans ta classe Personne (je suppose qu'elle se nomme ainsi)

    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
    public class Personne{
     
    private String id;
    private String name;
    //....
    public String getId(){return this.id;}
     
    //...
    public int compareTo(Object obj){
        String idAutrePersonne= ((Personne)obj).getId();
        if(this.id < idAutrePersonne){
            return -1;
        }else if (this.id > idAutrePersonne){
            return 1;
        }else{//equals
            return 0;
        }
    }
    Pour rappel les String sont trié par ordre alphabétique ( immeuble < maison )
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  3. #3
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Le Arrays.Sort ne fonctionne que sur un tableau à une dimension il me semble :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String[] tab= new String[] {"b", "a"};
    Arrays.sort(tab); // a, b
    Edit : Sauf que j'ai mal lu et que tu as bien un tableau à une dimension ^^
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Salut,

    Tu es sur le BON site.

    Regarde cette FAQ:

    http://java.developpez.com/faq/java/...rierCollection

    Cordialement,

    Dan

  5. #5
    Membre du Club
    Profil pro
    Architecte logiciel
    Inscrit en
    Janvier 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 28
    Points : 48
    Points
    48
    Par défaut
    je me suis permit de regarder ton exemple Ivelos il me semble qu'il manque quelque chose d'essentiel a la declaration de la classe Personne : " implements java.lang.Comparable ". ( et pour d'autre cas mixant les types de classes, attentions aux autres criteres cf java doc de Arrays.sort).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Le meilleur moyen de comparer et ensuite trier deux objects est d'implémenter l'interface comparable.
    Cette interface ne demande de donner qu'une méthode int toCompare(Object o)

    Regarde la doc java pour les détails.

Discussions similaires

  1. Tri d'un tableau en 2D
    Par sniperseb dans le forum C
    Réponses: 4
    Dernier message: 05/01/2006, 16h33
  2. Réponses: 6
    Dernier message: 16/09/2005, 10h30
  3. tri d'un tableau à 2 dimensions
    Par dede92 dans le forum C
    Réponses: 4
    Dernier message: 19/02/2005, 18h29
  4. [langage] Probleme de tri d'un tableau de tableau
    Par Ludo167 dans le forum Langage
    Réponses: 1
    Dernier message: 25/08/2004, 10h32
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

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