L'augmentation de la taille de ArrayList dans ArrayList en Java

RNDM:

Je suis en train d'augmenter la taille d'un ArrayListun intérieur à ArrayListchaque 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 innerListrestes 1.

GBlodgett:

Mais à partir de mes tests, la taille des innerListrestes 1.

En effet , dans votre addValue()méthode , vous créez un nouveau innerListet de l' ajouter à la liste. Ainsi votre extérieur ArrayListsera 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 ArrayListet puis ajouter l'élément à lui. Quelque chose comme:

outerList.get(index).add(value);

indexest l'indice de la liste intérieure que vous souhaitez ajouter à la valeur

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=222768&siteId=1
conseillé
Classement