Stack --> ArrayList Java

Machte ich einen Stack und eine ArrayList zu forschen. Eigentlich will ich jetzt meinen Stapel ersetzt durch eine ArrayList, aber wie verwandeln Sie einen Stack in einer ArrayList ? Wie läuft es mit push, pop,... ?

Danke

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;
}
  • Gut pop entfernt Elemente aus einem Stack, und push fügt Elemente zu einem Stack. Warum sind Sie hinzufügen von Elementen zu Ihrem Stack beim kopieren der List? Was wollen Sie in Ihrem List wenn die Methode abgeschlossen ist?
  • Nur um eine Spur in der Liste
  • nur verfolgen* sorry
  • Was bedeutet das? Sie ändern die Stack während Sie es kopieren... das ist wahrscheinlich nicht das, was Sie wollen.
InformationsquelleAutor maevy | 2015-02-04
Schreibe einen Kommentar