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 :

Groupement d'objets d'une ArrayList en fonction de plusieurs criteres


Sujet :

Collection et Stream Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut Groupement d'objets d'une ArrayList en fonction de plusieurs criteres
    Bonjour,

    J'ai une ArrayList d'objet de type PersonneVO. La Classe PersonneVO contient ces attributs :
    Nom, Prenom, Date Naissance, Adresse, Ville, Ecole, Entreprise

    Je vous regrouper les objets de la liste en fonction du Nom et Date de Naissance, c'est à dire regrouper d'abord par le nom ensuite le faire par date de naissance.

    J'ai chercher sur le forum mais j'ai pas trouvé des problèmes similaires.

    J'ai pensé au HashMap mais ça contient une clé. (pour plusieurs j'ai pas trouvé)

    Merci pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    C'est un tri que tu souhaite faire ? ==> auquel cas il faut utiliser un Comparator.
    Ou alors une Map<nom, <Map<Date, PersonneVO>> ?
    Et faire map.get('UnNom').get('UneDate') ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par Mathieu.J Voir le message
    C'est un tri que tu souhaite faire ? ==> auquel cas il faut utiliser un Comparator.
    Ou alors une Map<nom, <Map<Date, PersonneVO>> ?
    Et faire map.get('UnNom').get('UneDate') ?
    Oui comme un tri, en séparant chaque groupe pour les traitées ailleurs.

    Je crois que j'utiliserais un Comparateur, il est générique que la Map (cas d'ajout d'autres criteres de regroupement)

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 613
    Points
    21 613
    Par défaut
    Citation Envoyé par facilus68 Voir le message
    Oui comme un tri, en séparant chaque groupe pour les traitées ailleurs.
    Le tri ne va pas retenir les séparations entre un nom et un autre, une date et une autre... Il va juste les ranger côte à côte, puis quand un nom est fini, ça passe à l'autre nom, sans marquer de séparation.

    Le coup de la Map de Map de PersonneVO est plus adaptée, et si tu veux faire un Comparator pour d'autres usages, rien ne t'en empêche.

    Note : si plusieurs PersonneVo différentes peuvent avoir le même nom et la même date de naissance, il faut une Map de Map de List de PersonneVO.
    En effet, les Map n'associent qu'une seule valeur à chaque clé. Donc si on en veut plus d'une, il faut les mettre dans une List.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. trier une liste d'objets dans une ArrayList
    Par sandrine49 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 13/10/2008, 08h59
  2. Réponses: 4
    Dernier message: 19/06/2007, 10h41
  3. Réponses: 2
    Dernier message: 01/06/2007, 08h57
  4. [Débutant] Initialiser les propriétés de tous les objets d'une ArrayList
    Par Tententai dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 23/05/2006, 20h24
  5. [C#] Tri d'objet dans une ArrayList
    Par guillaume16 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/03/2006, 12h05

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