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 sur arraylist


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut tri sur arraylist
    Bonjour a tous, voila j'ai un programme (une application web en fait) qui affiche un un tableau. Ce tableau est construit à partir d'un arraylist. Je voudrais créer une fonction de tri sur mon tableau qui me permettrait d'afficher les éléments du tableau selon les critères choisi dans plusieurs listes déroulantes (3).
    J'ai regardé la doc de sun sur les collection, et j'ai vu que la méthode statique binarySearch pourrait correspondre a ce dont j'ai en partie besoin, mais sa m'a l'air assez compliqué, est ce que quelqu'un aurait un exemple ?
    Merci

  2. #2
    Membre Expert
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Par défaut
    binarySearch n'est pas fait pour le tri mais requiert le tri.
    Relis la java doc de binarySearch et par la même lit celle de Collections.sort.

    Si te plait jette toujours un coup d'oeil
    1) sur la javadoc
    2) sur google pour les exemple

    Concernant l'utilisation c'est un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String[] ints = {"1","2","3","4"};
    List list = Arrays.asList(ints);
    Collections.sort(list);
    Attention cependant les éléments de ta liste doivent implémenter java.lang.Comparable ou alors tu peux également appeller sort avec un Comparator

  3. #3
    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,


    Tu as directement Collections.sort() qui te permet de trier des List comme bon te semble (selon le code du Comparator).

    a++

  4. #4
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    Daccor j'ai redéfini la méthode equals, hashCode, et compareTo. J'ai appelé Collections.sort(monArrayList).
    Maintenant je voudrais savoir comment procéder pour afficher ma liste suivant les critères de mes listes déroulantes.
    Par exemple ma liste contient une série de nom (String) il peut y avoir plusieurs même nom - ex:nom1, nom2, nom3, nom3.
    Je ne voudrais qu' afficher nom1 et nom2. Est ce que binarySearch est la méthode adéquate? Ou est ce que la méthode contains est mieux? Une fois qu'il a trouvé dans ma liste les éléments que je ne veux pas afficher, faut il créer un autre tableau afin d'afficher les éléments voulu?
    Désolé c'est la premiere que je dois faire un tri sur un tableau, sa fait tjrs mal la premiere fois.
    Merci en tout cas pour votre aide.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Par défaut
    Je ne vois pas le problème. Mais c'est vrai que tu ferais ça beaucoup plus facilement avec une base de données et des requêtes SQL.

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    C'est pas simplement un tri que tu veux faire, mais un filtrage de ta liste également, non?

  7. #7
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    Salut, oui je voudrais afficher, dans mon tableau, les objets qui contiennent un attribut ou propriété égal a celle que j'aurai choisi dans ma liste déroulante.
    Donc j'ai une premiere liste qui contient tout les éléments, je la parcours, et si un objet de l 'arraylist à une prorpriété égal a celle séléctionné j'ajoute cet objet a une autre arraylist vide.
    Voila ce que j'ai fait, je ne sais pas si c'est vraiment comme sa qu'il faut faire mais c'est ma solution, si tu a autre chose n'hésite pas.
    Merci

Discussions similaires

  1. tri sur un arraylist
    Par Shadam dans le forum VB.NET
    Réponses: 0
    Dernier message: 22/04/2011, 10h12
  2. tri d'ArrayList d'Object[] sur un champ String
    Par igorzup dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 01/10/2008, 17h49
  3. Tri sur DBgrid
    Par julien41 dans le forum Bases de données
    Réponses: 21
    Dernier message: 19/02/2004, 17h33
  4. tri sur la xème colonne
    Par r-zo dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/07/2003, 13h41
  5. [VB6] [MSHFlexGrid] Tri sur clic dans la première ligne
    Par degreste dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 06/03/2003, 00h42

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