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

API standards et tierces Java Discussion :

Java - problème avec ArrayList<ArrayList<type>>


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut Java - problème avec ArrayList<ArrayList<type>>
    Bonjour,

    J'ai un soucis avec des ArrayList d'ArrayList. En bref, voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private ArrayList<ArrayList<Point>> array1 = new ArrayList<ArrayList<type>>();
    private ArrayList<Point> array2= new ArrayList<type>();
    Le problème est que quand je veux ajouter un objet array2 dans l'array1 au moyen du code suivant :
    L'array2 est bien ajouter à la fin de l'array1 (array1.size() prend une valeur de plus), mais toutes les entités au sein de l'array1 prenne la valeur du dernier array2 ajouté.

    Y aurait-il une subtilité qui m'aurait échappée ?

    Merci d'avance pour les réponses

    David

  2. #2
    Membre éclairé
    Inscrit en
    Février 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 38
    Par défaut
    Hello,

    la seule raison que je vois c'est que tu ne changes pas la référence de array2 dans ton code et que tu vide et modifie la même liste.
    Et donc tu modifies en fait la même liste contenue dans array1.

    Preuve de ce que je te dis, essaye ce code :

    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
    35
    36
    37
    38
    39
     
    public class MainTest {
    	public static void main(String[] args) {
    		List<List<A>> array1 = new ArrayList<List<A>>();
    		List<A> array2 = new ArrayList<A>();
    		array2.add(new A("ajout1"));
    		array1.add(array2);
     
    		array2 = new ArrayList<A>();
    		array2.add(new A("ajout2"));
    		array1.add(array2);
     
    		for (List<A> l : array1) {
    			System.out.println(l.get(0));
    		}
    	}
     
    	private static class A {
    		private String ref;
     
    		public A(String ref) {
    			this.ref = ref;
    		}
     
    		@Override
    		public String toString() {
    			return ref;
    		}
     
    		/**
                     * @return the ref
                     */
    		public String getRef() {
    			return ref;
    		}
     
    	}
     
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut Bonne réponse
    Merci bien, c'était exactement ça le problème.

    Bonnes fêtes de fin d'année

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

Discussions similaires

  1. [DOM][Java] Problème avec le retour de getNodeName()
    Par anutka dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 11/04/2012, 21h38
  2. Problème avec Hashmap et ArrayList!
    Par Angie73 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 11/05/2008, 21h31
  3. problème avec indexOf ds ArrayList
    Par chadnour dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 24/12/2007, 15h10
  4. Réponses: 6
    Dernier message: 10/09/2007, 22h55
  5. [MySQL 5 + Java] Problème avec un champ TIME
    Par ultracoxy dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/07/2006, 09h25

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