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 :

ArrayList <ArrayList <Object>>?


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut ArrayList <ArrayList <Object>>?
    Svp quelqun peut me dire comment trier un ArrayList<ArrayList<Object>>?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Collections.sort(List list,Comparator c);

    ou

    Collections.sort(List list);

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    ça ma sortie une erreur; il dit que la methode n'est pas applicable à un <ArrayList <Object>>.
    Parce que je l'ai appeler comme ça :
    Collections.sort(arrayvar).
    J'ai essaie avec une ArrayList avec 1 dimension ça marche ta methode, ms avec 2 dimensions il veut pas
    J'ai fais quoi comme betise svp ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Ah pardon, j'avais pas fait attention que tu voulais trier une liste de liste.
    Ben sinon, tu parcours ta liste principale et pour chaque sous-liste, tu fais un sort.

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Si tu cherches à trier des listes entre elles, il faut définir les critères qui font qu'une liste "est plus grande qu'une autre".

    Typiquement, si j'ai les listes {3,5,7} et {1,5,9}, quelle est la liste la plus grande? Est-ce qu'il faut additionner chaque nombre pour déterminer la plus grande? Ou bien c'est la plus grande valeur qui prend le dessus? Ou bien faire autre chose?

    Une fois que ces critères seront posés, il te suffira d'écrire un Comparator qui les implémente, et d'utiliser la méthode proposé ci-dessus (sort(List, Comparator)).


  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    En faite jaimerai, sil existe, trier les lignes plutot que des colonnes entre elles.
    Si vous voulez, il sagit d'un JTable. Faut que je le trie par rapport à la clé primaire.
    C'est ça le problème . Et bien sur le plus gros problème c'est que j'ai pas assez d'expérience en Java pour faire ça!
    Vous avez une astuce svp ?

  7. #7
    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
    Et bien il faut que tu "expliques" à ton programme comment il doit trier tes listes.
    Et cela se fait en créant un objet "Comparator", que tu passeras en paramètre de ta méthode de tri.
    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

  8. #8
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par pham1980 Voir le message
    Faut que je le trie par rapport à la clé primaire.
    Clé primaire? C'est de la base de données?

    Si oui, SQL -> ORDER BY !!


  9. #9
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    Hehe ben nan! parceque, j'ai un JTable, tout les seconds, j'exécute une petite requete pour reverifier le journal. Je récupere que 1 ou quelques lignes et non pas toute la table(pour essayer d'alleger le plus possible). c'est pour ça que jaurais besoin d'une insertion (ça c'est bon j'ai bien lu le Tuto de developpez.com et java sun) et le trie, la ça va pas.

  10. #10
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Ok...

    voilà un exemple du Comparator que tu devras écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Comparator c = new Comparator() {
        public int compare(Object o1, Object o2) {
          if((o1 instanceof ArrayList) && (o2 instanceof ArrayList)) {
            ArrayList a1 = (ArrayList)o1;
            ArrayList a2 = (ArrayList)o2;
     
            // 0 est l'index du champ à trier. A remplacer!
            return ((Comparable)a1.get(0)).compareTo(a2.get(0));
          }
     
          return 0;    
        }
    };

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Si c'est pour une JTable, tu peux procéder autrement.
    Si tu utilises la version 6 de java, il y a juste une méthode à appeler pour activer le tri de ton JTable.
    Si tu utilises une version < 6 de Java, rends toi à cette adresse :
    http://java.sun.com/docs/books/tutor...e.html#sorting

    Oups, je crois que le tuto relatif au lien est mis à jour pour Java 6.
    Faut que je retrouve le lien original.

    Voilà, je crois que c'est ça:
    http://java.sun.com/docs/books/tutor...bleSorter.java

  12. #12
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    Super cool ça marche ! Merci beaucoup ! En faite j'ai utiliser ce tuto, mai j'ai pas réactualiser le trie sur mise à jour, c'est pour ça que ça marche pas, j'ai vu le truc grace a tes liens.
    Merci beaucoup a ts !!

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

Discussions similaires

  1. Problème d'ArrayList d'arrayList d'arrayList
    Par Shaina dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 25/02/2011, 11h04
  2. Arraylist de Arraylists de strings
    Par PomFritz dans le forum C#
    Réponses: 6
    Dernier message: 31/05/2008, 12h03
  3. Arraylist d'Arraylists - comment la parcourir
    Par koktel_dfr dans le forum C#
    Réponses: 5
    Dernier message: 26/05/2008, 13h34
  4. [Vector et ArrayList] Transformer Enumeration en Object[]
    Par nebule dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 25/09/2006, 16h27
  5. [VB.NET] PB ArrayList.CopyTo(ArrayList)
    Par AbyssoS dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/04/2006, 12h51

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