Problème de remplissage de liste
Résolu
Rune188
Messages postés
81
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir et bonne année,
Je rencontre un problème avec le remplissage d'une liste.
j'essaye de remplir un liste mais celle-ci ne se rempli que avec les mêmes valeur alors que je change pourtant a chaque tour de boucle for les valeurs de cette objet
voici mon code:
et voici l'affichage:

Je rencontre un problème avec le remplissage d'une liste.
j'essaye de remplir un liste mais celle-ci ne se rempli que avec les mêmes valeur alors que je change pourtant a chaque tour de boucle for les valeurs de cette objet
voici mon code:
BookCount bc = new BookCount();
List<BookCount> bcList= new ArrayList<BookCount>();
for(int i =0;i<bkLst.size();i++){
bc.setBk(bkLst.get(i));
bc.setNbr(countFile.get(i));
System.out.println("book a ajouter: "+bc.getBk());
bcList.add(bc);
}
System.out.println("*********************");
for(int i =0;i<bcList.size();i++){
System.out.println(bcList.get(i).getBk());
}
et voici l'affichage:
3 réponses
-
Bonsoir
analysons ce que fait ton code.
Il crée un objet bc dont la portée est valable pour tout le code
Ensuite il modifie l'objet bc et l'ajoute à une liste.
Ensuite il modifie l'objet bc et l'ajoute à une liste.
Etc.
Donc à la fin la liste c'est
[bc, bc, bc, bc, bc, bc, bc, ...., bc]
Il t'affiche donc
bc
bc
bc
bc
bc
....
bc
-
ok donc si je crée l'objet à chaque tour de boucle cela devrait fonctionné
List<BookCount> bcList= new ArrayList<BookCount>(); for(int i =0;i<bkLst.size();i++){ BookCount bc = new BookCount(); bc.setBk(bkLst.get(i)); bc.setNbr(countFile.get(i)); System.out.println("book a ajouter: "+bc.getBk()); bcList.add(bc); }
Merci, je passe en résolu -