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 :

Ordonner List Objet


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 46
    Points
    46
    Par défaut Ordonner List Objet
    Bonjour,

    J'ai un petit souci pour ordrer un de mes object JAVA.

    Explication :
    J'ai un objet ObjectA qui contient les propriétées suivantes :
    -BigDecimal montant;
    -ObjectB support;
    ...

    Dans mon ObjectB j'ai :
    -String nomSupport;
    -float perf
    ...

    Ce qui est attendu :
    Je voudrais ordonner mon ObjectA en fonction de l'attribut montant ou de nomSupport ou de perf.

    Ce que j'ai tenté:
    Extraire dans une autre liste l'attribut que l'on veut trier (avec Collections.sort(maListeDesValeursDeMonAttribut))mais le problème est que je n'arrive pas a reconstruire mon ObjectA vu que mes attributs ne sont pas uniques

    Et le maintenant, je bloque...si vous pouviez me guider ... MARKI

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Cela dépend du contexte dans lequel tu veux ordonner tes objets, mais le principe est toujours le même : il y a une interface qui définit l'ordre, en comparant le objets deux à deux, interface que tu dois écrire;

    Par exemple, pour le Comparable cela donnerait à peu près :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class ObjectA implements java.lang.Comparable<ObjectA>
    {
     private BigDecimal montant;
     private ObjectB support; 
     
     public int compareTo(ObjectA o)
     {
      return support.nomSupport.compareTo(o.support.nomSupport);
     }
    }
    Approximativement.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Je ne suis pas sur d'avoir bien compris le principe de ton post.

    Je ne dois pas ordonner mon objectA au fur et à mesure que l'on créer la liste d'ObjectA.

    Pour essayer d'être plus clair, on me donne une liste d'ObjectA et selon une donnée, je dois ordonner cette liste selon une propriété de cette objet (nomSupport, ...).
    Donc je ne pense pas que le fait d'insérer une methode compareTo a ma classe ObjectA ou d'implémenté l'interface Comparable me servent.

    J'avais pensé a faire une Map avec comme clé mon attribut et ma value mon ObjectA pour que puisse trier par clé, mais la clé devant être unique, cela ne marchera pas.

    A vous....

  4. #4
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    tu as une liste d'objets à trier, donc tu peux utiliser Collections.sort(..)

    mais pour que cette méthode sache la façon de comparer tes objets et les trier, il faut implémenter l'interface Comparable et définir la méthode compareTo

  5. #5
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Tu peux placer cette liste dans un TreeSet en lui passant un Comparator que tu écriras selon l'ordre que tu veux.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

Discussions similaires

  1. liste objets mdb
    Par driver dans le forum VBA Access
    Réponses: 10
    Dernier message: 18/08/2008, 01h05
  2. DataGrid; ITemplate; List<Objet>
    Par Kapitteli dans le forum ASP.NET
    Réponses: 10
    Dernier message: 31/07/2007, 12h32
  3. liste + objet caché
    Par franfr57 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 04/12/2006, 18h32
  4. list objet modification des données imprévue
    Par mathher dans le forum C++
    Réponses: 14
    Dernier message: 13/04/2006, 17h16
  5. liste objet d'une base firebird
    Par fbalien dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/11/2004, 22h40

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