Quiero hacer algo similar a thisModificación de Java ArrayList al iterar sobre ella
Sin embargo, no quiero que los elementos añadidos que se repiten a lo largo. Básicamente tengo una lista de arrays subyacente, y devuelvo un iterador sobre la lista de arrays. Al iterar usando ese iterador, quiero agregar elementos a la lista de arrays original. ¿Cómo hago esto?
EDITAR: El problema con esto es que necesito los objetos en el iterador modificado por el código de iteración. No creo que la clonación de la lista de arrays funcionará ...
EDIT2: Aquí hay una versión simplificada de mi código.
public class Map {
// a bunch of code
private ArrayList<Robot> robots;
public Iterator<Robot> getRobots() {
return robots.iterator();
}
public void buildNewRobot(params) {
if(bunchOfConditions)
robots.add(new Robot(otherParams);
}
// a bunch more code
}
Y aquí está el mapa utilizado en otra clase.
for(Iterator<Robot> it = map.iterator(); it.hasNext();){
Robot r = it.next();
// a bunch of stuff here
// some of this code modifies Robot r
if(condition)
map.buildNewRobot(params);
}
sería útil si proporcionó el código correspondiente – ggreiner
Agregó el código. Perdón por omitirlo. – BlackSheep