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 :

pb avec ArrayList


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Par défaut pb avec ArrayList
    Bonjour, j'utilise des ArrayList come ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<ArrayList[]> chemins = new ArrayList<ArrayList[]>();

    pour créer un index, je fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chemins.add(new ArrayList[2]);
                                    				chemins.get(chemins.size()-1)[0] = new ArrayList<Integer>();
                                    				chemins.get(chemins.size()-1)[1] = new ArrayList<Integer>();
    Ce qui marche très bien.

    Mais je n'arrive pas à faire des suppression d'index correctes :

    Si j'ai 10 index dans l'ArrayList chemin, par exemple, et que je ne veux garder que les 5 dernières, j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(i=0;i<5;i++){
       for(j=0;j<chemins.get(i)[0].size();j++)
                	chemins.get(i).remove(j);
     
    }
    et la ca ne marche pas.

    Si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int g=0;g<p;g++){
             chemins.get(g)[0].clear();
             chemins.get(g)[1].clear();
    }
    La ca marche, mais les 5 premiers index sont toujours la, vide, mais ils existent toujours, alors que je voudrai que les 5 derniers index prennent la place des 5 premiers et que la taille passe donc a 5 index

    Meric de votre aide

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, je ne suis pas sûr que ta structure de données soit la solution la plus adaptée à ton problème.

    Pourrais-tu dire exactement ce que tu souhaites gérer en fait? est-ce une simple liste? car là ce que tu créés c'est une liste de tableaux de listes. Je trouve ça plutôt particulier.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Par défaut
    Ma réponse est surement bête mais,

    est-ce que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(i=0;i<5;i++){
    chemins.remove (i); 
    }

    ne ferait pas l'affaire ?

  4. #4
    Membre éclairé Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Par défaut lol
    Mais si parfaitement, ca fait l'affaire!!!

    A force d'être dans les bidule.get(machine)[chouette].get(toto)...

    On voit plus le plus simple, qui est souvent la solution,

    merci!

  5. #5
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Tu devrais créer une classe intermédiaire pour éviter d'avoir à manipuler directement des bidule.get(machine)[chouette].get(toto)...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Par défaut
    Cool attention mon code contenait une erreur puisque pour enlever les 5 premiers elements il faut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(i=0;i<5;i++){
    chemins.remove (0); 
    }

  7. #7
    Membre éclairé Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Par défaut OUaish
    J'avais vu!

    Et c'est la misère pour supprimer des index en fonction d'un test...

    Pris la tête pendant 1h avant de comrpendre qu'il fallait mettre un compteur.

    Soit on supprimer l'index, soit on incremente le comtpeur, et on vire l'index compteur.....

    Gestion dynamique d'arrayLIst!

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

Discussions similaires

  1. JTable avec ArrayList
    Par stounouslous dans le forum Composants
    Réponses: 3
    Dernier message: 02/02/2007, 15h11
  2. [débutant] problème avec arraylist
    Par sissi25 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 17/12/2006, 16h01
  3. Prob avec arraylist
    Par javator dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/12/2006, 10h47
  4. Problème avec ArrayList <String>
    Par fiphi dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 29/08/2006, 09h30
  5. [C# .NET 2.0] Databinding avec ArrayList
    Par Sylvain James dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/04/2006, 10h57

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