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 :

Problème d'algo avec des arraylist


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Par défaut Problème d'algo avec des arraylist
    Bonjour,

    Voilà j'ai une ArrayList d'objets "Contact", un contact ayant une agence, une rubrique, un client. Je peux donc faire arrayListContact.get(index).getAgence, ou getRubrique() ou getClient()

    Je dois afficher ces contacts triés par agence, puis par rubrique et enfin par client.

    J'ai donc un code comme ceci parce que je veux afficher les clients pour chaque rubrique de chaque agence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for (int i=0 ; i<nombreAgencesTotal ; i++)
    {
         out.println(arrayListContact.get(i).getAgence()) ;
     
        for (int j=0 ; j<? ; j++
        {
             out.println(arrayList.get(?).getRubrique()) ;
     
             for (int k=0 ; k<? ; k++)
             {
                  out.println(arrayList.get(?).getClient())
             }
        }
    }
    Ma question est quoi mettre à la place des ?
    Je dois connaitre par exemple le nombre de rubriques pour une agence donnée, sachant que ce nombre peut différer d'une agence à l'autre.
    Je ne peux pas toucher au code métier qui me renvoie les contacts, je dois me débrouiller avec ça.

    svp aidez moi.

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 81
    Par défaut
    Il te faut faire un tableau d'index pour chaque tris.
    Pour trier chaque contact par agence, tu parcours tes contacts et tu stock son index et son agence, tu tris pas agence et tu affiche chaque contact.
    Idem pour la suite.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    déjà tu dois afficher .... puis .... puis .... Donc ce ne sont certainement pas des boucles improquées qu'il te faut.

    Ensuite, concrètement, il te faut construire une liste d'agences, une liste de rubrique, une liste de client, puis seulement les afficher.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Par défaut
    Non non je suis sûr des boucles imbriquées puisque je c'est un tableau à plusieurs dimensions. En cliquant sur une ligne de niveau 0 (agence), les lignes de niveau 1 (rubriques) qu'elle contient se déroulent et ainsi de suite

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 95
    Par défaut
    ça veut dire que je dois faire un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for (int i=0 ; i<listeContacts.size() ; i++)
    {
    hashmapAgences.put(i, listeContacts.get(i).getAgence()) ;
    }
     
    for (int j=0 ; j<hashmapAgences.size() ; j++)
    {
    hashmapRubriques.put(j, hashmapAgences.get(j).getRubrique()) ;
    }
    Puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for (int i=0 ; i<hashmapAgences.size() ; j++
    {
    out.println(hashmapAgences.get(j).getAgence()) ;
    for (int k=0 ; k<hashmapRubriques.size())
    {
      out.println(hashmapRubriques.get(k).getRubrique()) ; 
    }
     
    etc...
     
    }
    ??

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    grosso modo oui, sauf que j'utiliserais des listes ou des sets plutot que des hashmap dont la clé ne sert à rien Et j'utiliserais les boucles for étendues, plus faciles dans ce cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for (Contact contact: listeContacts)
    {
    setAgences.add(contact.getAgence()) ;
    }
     
    for (Agence agence : setAgence)
    {
    setRubriques.add(agence.getRubrique()) ;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for (Agence agence : setAgence)
    {
    out.println(agence) ;
    }
    for (Rubrique rubrique: setRubriques)
    {
      out.println(rubrique) ; 
    }
     
    etc...
     
    }

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

Discussions similaires

  1. Problème avec des ArrayList
    Par pony99 dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 22/12/2011, 18h00
  2. [Tableaux] Problème de foreach avec des checkboxes
    Par nanor21 dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2006, 01h04
  3. Problème de buffer avec des int et des char
    Par Lolita59 dans le forum Réseau
    Réponses: 23
    Dernier message: 04/05/2006, 11h09
  4. Problème de "select" avec des valeurs a null
    Par SchpatziBreizh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2005, 16h08
  5. Réponses: 6
    Dernier message: 19/10/2004, 13h46

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