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 :

LinkedHashMap et parcours


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut LinkedHashMap et parcours
    Bonjour, je travaille avec struts mais mon probleme est plus général java.
    Je vous explique j'ai des noeuds qui peuvent contenir des noeuds etc ....

    Je veux remplir ma LinkedHashMap par ces noeuds et par leur niveau je m'explique

    Noeud_1 1
    |--Noeud_2 2
    |--Noeud_3 2
    ___|--Noeud_4 3
    ___|--Noeud_5 3
    _____|--Noeud_6 4
    |--Noeud_7 2

    Ma LinkedHashMap j'arrive a la remplir dans cet ordre mais je n'arrive pas a mettre les niveaux correspondant voilà mon parcours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public ActionFormArbre() {    
            map.put((Noeud)config.getRacine(),new Integer(1));
            ParcoursArbre((Noeud)config.getRacine(),tab,2);
    }
     
    public void ParcoursArbre(Noeud n,LinkedHashMap map,int k){
         for(int i=0;i<n.getVect_Noeud_Enfant().size();i++){
            map.put((Noeud)n.getVect_Noeud_Enfant().get(i),new Integer(k));
          ParcoursArbre((Noeud)n.getVect_Noeud_Enfant().get(i),map,k++);
            }
    }
    Merci pour votre aide

  2. #2
    Membre expérimenté Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        public void ParcoursArbre(Noeud n,LinkedHashMap map,int k){
            map.put(n, new Integer(k));
            for(int i=0;i<n.getVect_Noeud_Enfant().size();i++)
               ParcoursArbre((Noeud)n.getVect_Noeud_Enfant().get(i),map,k+1);
       }
    si tu fait k++, tu augmente la valeur de k a chaque tour de boucle alors que si j'ai tout compris tu veux le faire a chaque niveau (donc a chaque appel recursif)

    et au niveau de la methode, il vaut mieux que chaque noeud se rajoute a la map puis apelle la methode sur tous ces fils

    il te reste a appelé la methode avec le noeud racine et le niveau 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ParcoursArbre(racine ,map , 1);

    une version avec iterator qui a mon avis est plus propre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        public void ParcoursArbre(Noeud n, LinkedHashMap map, int niveau){
            map.put(n,new Integer(niveau));
            Noeud fils;
            for(Iterator i = n.getVect_Noeud_Enfant().iterator; i.hasNext();fils = (Noeud)i.next())
                ParcoursArbre(fils, map, niveau + 1);
       }

  3. #3
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    Excellent je te remercie bcp c'est parfait

  4. #4
    Membre expérimenté Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Par défaut
    pense au tag

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

Discussions similaires

  1. [Debutant(e)]Pb parcours de tableau
    Par joquetino dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 22/09/2004, 09h08
  2. [C#] [ADO] Parcours d'une grande quantité d'enregistrements
    Par Wavyx dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/09/2004, 09h16
  3. [LG]Lenteur de parcours de fichier
    Par YéTeeh dans le forum Langage
    Réponses: 9
    Dernier message: 26/11/2003, 22h57
  4. Ordre de parcours de l'arbre...
    Par Sylvain James dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 01/12/2002, 18h41
  5. arbre de parcour d'arborescence windows
    Par chupachoc dans le forum Composants
    Réponses: 7
    Dernier message: 09/09/2002, 08h09

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