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

avec Java Discussion :

Tri sur champ d'objet


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut Tri sur champ d'objet
    Bonjour,

    J'aimerais developper un petit algo de tri prenant en entrée une liste d'objet 'MonObjet', et qui trie cette liste en fonction des champs des objets de la liste.
    Pour être plus clair voilà à quoi ça ressemblerais:

    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
    27
    28
    29
     
    import java.util.ArrayList;
     
     
    public class MonObjet
     {
      private int width;
      private int weight;
      private int height;
      private int id;
     
      public MonObjet()
       {
        super();
       }
     
      public static void sort(ArrayList<MonObjet> liste)
       {
        /*mon algo qui trie les objets de type MonObjet selon les champs (dans 
        cet ordre) par width, weight et  weight*/
       }
     
     
      public static void main(String[] args)
       {
        ArrayList<MonObjet> liste = new ArrayList<MonObjet>();
        sort(liste);
       }
     }
    J'ai tout d'abord pensé à créer une liste de chaînes de caractères, chaque chaîne prenant pour chaque objet le format 'width+ weight + height + id',
    auquel j'applique la fonction Collections.sort().
    Le tri serait impeccablement fait mais pas idéal pour exploiter les résultats, les traitements sur les chaînes étant assez coûteux...

    Toutes les idées sont les bienvenues!!!

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    "Collections.sort()" est la bonne réponse, mais en créant un Comparator personnel que tu passes en paramètre de cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class MonComparator extends Comparator<MonObjet> {
     
       public int compareTo(MonObject o1, MonObject o2) {
          if(o1.width != o2.width)) {
             return  o2.with - o1.with;
          } else if (o1.height != o2.height)) {
             // etc.
          }
       }
    }
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut
    Merci CyberChouan pour le comparateur, je teste ca et je te tiens au courant...

    EDIT: Ca marche du tonnerre merci beaucoup!!!

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 19/06/2008, 16h44
  2. [MySQL] Tri sur champ au format date - uniquement mois/année
    Par skippy86 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/01/2007, 11h27
  3. [Access 2003] Tri sur champ vide
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/11/2006, 12h07
  4. [CR]tri sur champ formule
    Par planetevoyage dans le forum Formules
    Réponses: 6
    Dernier message: 31/08/2005, 14h31
  5. tri sur champ texte
    Par ridan dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/08/2004, 16h28

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