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 :

ajout d'objet dans ArrayList


Sujet :

Collection et Stream Java

  1. #1
    sos
    sos est déconnecté
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Points : 29
    Points
    29
    Par défaut ajout d'objet dans ArrayList
    Bonjour tout le monde,
    Je suis débutante en java et je dois parcourir une arborescence de dossier tel que chaque dossier contient une liste de fichier (texte) eux même composés d’une liste de mots. Je veux stocker ces informations dans une liste chainée ou un ArrayList

    Voici le code pour parcourir et le stockage des dossiers dans l’ArrayList.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    private static int construireDossier(String chemin, int pere, int prochain)
    	{
    		ArrayList list_dossiers=new ArrayList(); 
    		File fichier = new File(chemin);
    		File sousDossiers[] = fichier.listFiles(filtreDossier);
    		int[] listeNumero = new int[sousDossiers.length];
     
    		if (sousDossiers != null)
    		{
    			for (int i = 0; i < sousDossiers.length; i++)
    			{
    //on enregistre dans un tableau le numéro affecté au dossier
    				listeNumero[i] = prochain;
    				prochain++;
    				Dossier cat=new Dossier(listeNumero[i], sousDossiers[i].getName(), pere);
     
    				list_dossiers.add(cat);					
    				System.out.println("categorie ajouté");
    					System.out.println("Lecture des textes du dossier " + sousDossiers[i]);
     
    				System.out.println("appel de ajouterTexteDossier"+sousDossiers[i] + listeNumero[i]);
    				ajouterTexteDossier(sousDossiers[i], listeNumero[i]);
    			}
    			for (int i = 0; i < sousDossiers.length; i++)
    			{
    				prochain = construireDossier(sousDossiers[i].getAbsolutePath(), listeNumero[i], prochain);
    			}
     
    		}
    		int s=list_dossiers.size();
    		System.out.println("size= "+s);
     
    	return prochain;
    	}
    Le problème c’est quand j’imprime la taille de l’ArrayList il me donne la valeur 0 (c’est vide).A ce qu’il parait il n’ajoute pas l’objet dossier dans la liste de dossiers.
    Comment peut-on afficher la liste des éléments d’un ArrayList étant donné que ses éléments sont eux même des objets ?

    Pouvez-vous me dire où réside le problème et comment le résoudre.
    Merci beaucoup pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    le problème c’est quand j’imprime la taille de l’ArrayList il me donne la valeur 0 (c’est vide).A ce qu’il parait il n’ajoute pas l’objet dossier dans la liste de dossiers.
    La methode pour ajouter un element dans l'ArrayList est la bonne.

    Je pense plutot que le probleme vient de sousDossiers

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    Ta méthode construireDossier est récursive, mais au début de cette méthode, tu initialises la liste lis_dossiers, donc, tu ne sauvegardes pas l'ensemble des dossiers récursivement!

    Pour ce qui est du size() à 0, es-tu sûr de passer dans la boucle for (int i = 0; i < sousDossiers.length; i++) ?

Discussions similaires

  1. Ajout d'objet dans une classe
    Par Zorgloub dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/02/2008, 21h04
  2. Ajout nouvel objet dans JList
    Par sorry60 dans le forum Composants
    Réponses: 2
    Dernier message: 09/12/2006, 22h37
  3. Ajout d'objet dans un produit
    Par senacle dans le forum Zope
    Réponses: 1
    Dernier message: 22/09/2006, 10h12
  4. [swing] modifier l'ajout d'objet dans un JTable
    Par Invité dans le forum Composants
    Réponses: 2
    Dernier message: 17/05/2006, 13h02
  5. [C#] Ajout d'objet à un Arraylist
    Par shinchan dans le forum Windows Forms
    Réponses: 7
    Dernier message: 30/03/2006, 10h46

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