Je suis en train d'augmenter la taille d'un ArrayList
un intérieur à ArrayList
chaque fois qu'une nouvelle valeur est ajoutée mais je ne suis pas sûr de la bonne façon de le faire. Voilà ce que j'ai en ce moment:
public ArrayList<ArrayList<Integer>> outerList;
public int addValue(int value) {
int a = 0;
ArrayList<Integer> innerList = new ArrayList<Integer>();
if (noValue(value) == true) { // noValue checks if the value exists at a position in outerList and returns true if it's empty
innerList.add(value); // innerList has now size 1
outerList.add(innerList);
}
else {
a += 1;
innerList.add(value);
outerList.add(innerList);
}
return a;
}
Mais à partir de mes tests, la taille des innerList
restes 1.
Mais à partir de mes tests, la taille des
innerList
restes 1.
En effet , dans votre addValue()
méthode , vous créez un nouveau innerList
et de l' ajouter à la liste. Ainsi votre extérieur ArrayList
sera constitué d'un grand nombre de ArrayList
« s avec un seul objet en eux.
Pour changer cela , vous devez utiliser la get()
méthode pour obtenir l'intérieur ArrayList
et puis ajouter l'élément à lui. Quelque chose comme:
outerList.get(index).add(value);
Où index
est l'indice de la liste intérieure que vous souhaitez ajouter à la valeur