6
Ho creato uno Stack e un ArrayList per effettuare una ricerca. In realtà ora voglio rendere il mio Stack sostituito da un ArrayList, ma come trasformare uno Stack in un ArrayList? Come va con push, pop ...?Stack a -> ArrayList Java
Grazie
public static ArrayList<State> search(State finalstate)
{
ArrayList<State> toreturn = new ArrayList<State>();
Stack<State>mystack=new Stack<State>();
mystack.push(initState);
State currState;
currState=initState;
while(!mystack.isEmpty() && !currState.equals(finalstate))
{
currState=mystack.pop();
toreturn.add(currState);
if(currState.vecinos.containsKey("up"))
{
mystack.push(currState).vecinos.get("up");
}
if(currState.vecinos.containsKey("down"))
{
mystack.push(currState).vecinos.get("down");
}
if(currState.vecinos.containsKey("left"))
{
mystack.push(currState).vecinos.get("left");
}
if(currState.vecinos.containsKey("right"))
{
mystack.push(currState).vecinos.get("right");
}
}
return toreturn;
}
Bene 'pop' rimuove gli elementi da un' Stack', e 'push' aggiunge articoli a un 'Stack'. Perché stai aggiungendo elementi al tuo 'Stack' mentre copi nella' Lista'? Cosa vuoi nel tuo 'Elenco' quando il metodo viene completato? –
Solo per tenerne traccia nell'Elenco – maevy
solo per mantenere una traccia * mi spiace – maevy