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 tableau à 2 dimensions


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut tri tableau à 2 dimensions
    bonjour, voila j'ai un tableau à plusieurs dimensions et je voudrais le trier sur les 2 premieres dimensions
    voici un exemple pour representer mon tableau
    Article Client Prix
    ccccc client2 ....
    bbbbb client1
    eeeee client3
    ggggg client1
    aaaaa client2
    et je souhaiterai obtenir ceci:
    bbbbb client1
    ggggg client1
    aaaaa client2
    ccccc client2
    eeeee client3
    donc pour resumer trier en premier sur le client et ensuite sur l article

    j'ai tenté deux tri a bulles consecutifs comme ceci:
    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
    19
    20
    21
    22
    23
    24
    25
    26
     
    for(int i=0;i<nb;i++)
       {
        for(int j=0;j<nb;j++)
        {
         if(detail[i].article.compareTo(detail[j].article)<0)
         {
          d=detail[i];
          detail[i]=detail[j];
          detail[j]=d;
         }
        }
       }
       for(int i=0;i<nb;i++)
       {
        for(int j=0;j<nb;j++)
        {
         if(detail[i].client.compareTo(detail[j].client)<0)
         {
          d=detail[i];
          detail[i]=detail[j];
          detail[j]=d;
     
         }
        }
       }
    mais bon le resultat n 'est pas correct comme vous pouvez vous en doutez!
    si quelqu un a une idée, merci d avance

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    1. Oublies les tableaux à deux dimensions !!! Fais de la POO et défini un objet qui contiendra tes données.
    2. Utilises ensuite un tableau à 1 dimension contenant tes objets (ou mieux une List pour une meilleure facilité d'utilisation)
    3. Selon le cas, il suffit ensuite d'utiliser une des méthodes Arrays.sort() ou Collections.sort() (en implémentant Comparable sur ton objet, ou en définissant un Comparator).



    a++

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Plutôt que de réimplémenter un tri (en plus le tri à bulle c'est bon pour un exercice de cours mais pas du tout optimal), tu devrais utiliser les fonctions qui sont faites pour ça.

    Par exemple, la fonction java.util.Arrays.sort.
    Pour l'utiliser :
    Tu définis une classe implémentant l'interface java.util.Comparator ; dans cette classe tu définis les fonctions equals et compareTo selon le tri que tu veux obtenir. dans ton cas ce sera : vérifier quel les objets passés en argument sont des tableaux à au moins deux dimensions, puis comparer les deux premières colonnes et renvoyer un résultat en fonction...
    Puis tu trie ton tableau en appelant Arrays.sort(monTableau, uneInstanceDuComparator).

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    merci pour vos reponses
    apres avoir trouvé un ptit cours sur les collections
    tout fonctionne correctement!

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

Discussions similaires

  1. Optimisation : tri tableau à 2 dimensions
    Par sp2308 dans le forum Débuter
    Réponses: 2
    Dernier message: 16/04/2014, 12h29
  2. Tri tableau deux dimensions
    Par charliemtx dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/07/2013, 16h17
  3. [PHP 5.1] tri tableau plusieurs dimensions
    Par viny dans le forum Langage
    Réponses: 2
    Dernier message: 02/07/2013, 18h55
  4. Tri tableau 2 dimensions
    Par mmb04 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 26/11/2007, 09h39
  5. [langage] [debutant] tri tableau deux dimensions
    Par labbyjoel dans le forum Langage
    Réponses: 4
    Dernier message: 07/11/2006, 18h38

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