guardar datos en arraylist en un bucle

¡Tengo un bucle for que se ejecuta 1000 veces! y quiero guardar el resultado de cada iteración en una lista de matrices, ¡pero no guarda los datos de la última iteración! ¡simplemente borra toda la lista de arreglos en cada iteración y agrega nuevos elementos a eso!

¿Cómo debo guardar todos los datos? No agregaría ningún código porque es realmente complicado y muy difícil de explicar lo que sucede en el bucle. En general, quiero saber cómo resolver el problema y poder guardar todos los datos.

preguntado el 12 de junio de 12 a las 13:06

¡Asegúrate de no crear una nueva lista en cada iteración! ¡Aprenda a crear un caso de uso mínimo que demuestre el comportamiento! ¡Realmente no podemos abordar el problema sin saber qué hace su código! -

Vas a necesitar incluir un extracto de tu código al menos. De lo contrario, será como jugar a ponerle la cola al burro en la Fosa de las Marianas con un calamar pegado a la cara. -

Su pregunta no está muy clara, si es tan simple como parece, ¡simplemente inicie la matriz fuera del ciclo y siga agregándola! ¡No veo el gran problema aquí! ¡Publica el código y ayúdanos a ayudarte! -

en realidad, el código está en processing.js, que usa el lenguaje java, ¡y necesito a alguien que lo sepa! -

¡No importa! ¡No podemos seguir adivinando! ¡No tenemos idea de lo que estás haciendo! Lo que está haciendo en el ciclo es irrelevante, lo que importa es cómo/dónde crea la lista y cómo le agrega datos. -

3 Respuestas

Declara tu ArrayList fuera de tu for lazo.

Al igual que

ArrayList results = new ArrayList();

for (int i = 0; i < 10000; ++i){
    int result = myFunction(i);
    results.add(result);
}

Respondido el 12 de junio de 12 a las 13:06

Necesitaría su código para comprender con mayor precisión de dónde proviene el problema, pero creo que puede deberse a que crea un nuevo ArrayList dentro del bucle.

Tu código debería verse así:

List list = new ArrayList();
for(int i = 0; i < 1000; i++) {
    data = ...
    list.add(data);
}

Respondido el 12 de junio de 12 a las 13:06

Crear un vacío ArrayList objeto fuera del bucle for. Obtenga su objeto en el bucle for y agréguelo a la lista.

List<YourClass> list=new ArrayList<YourClass>();

    for(int i=0;i <1000;i++)
    {
        obj=new YourClass();
        list.add(obj);
    }

Respondido el 12 de junio de 12 a las 13:06

¿Cómo agrega esto información útil que no está ya contenida en las dos respuestas existentes? - David Newton

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.