6
Tôi đã tạo một Stack và ArrayList để thực hiện một nghiên cứu. Trên thực tế tôi muốn bây giờ để làm cho ngăn xếp của tôi thay thế bằng một ArrayList, nhưng làm thế nào để chuyển đổi một ngăn xếp thành một ArrayList? Làm thế nào là nó đi với push, pop ...?Stack to -> ArrayList Java
Cảm ơn bạn
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;
}
Vâng 'pop' loại bỏ các mục từ một' Stack', và 'push' thêm mục vào một 'Stack'. Tại sao bạn thêm các mục vào 'Stack' trong khi sao chép vào' List'? Bạn muốn gì trong 'Danh sách' khi phương thức hoàn thành? –
Chỉ để giữ một dấu vết của nó trong Danh sách – maevy
chỉ để giữ một ca khúc * xin lỗi – maevy