Bonjour,

j'essaye de faire une ArrayList dans laquelle je veut rajouter une valeur à un endroit précis, en mettant comme nouvelle valeur la même que celle qui était à cet endroit.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
ArrayList<int[ ]> nouvelleListe = new ArrayList<int[ ]>( listeCor );
int[ ] ancien = listeCor.get( pos - 1 );
// Ajout d'une équivalence
nouvelleListe.add( pos - 1, ancien );
 
// Incrémentation à la position pos
ancien[ SANS ] ++;
ancien[ AVEC ] ++;
nouvelleListe.set( pos, ancien );
listeCor étant une ArrayList<int[]> remplie.

Mon soucis est qu'en faisant le code ci-dessus, quand je modifie ancien[], je modifie non seulement le int[] à la position "pos" mais aussi celui à la position "pos-1" !
Les 2 sont liés ! Qu'ai-je fais d'incorrect ?

Merci beaucoup,
Bastien.