如何将多维节点数组放入堆栈?

时间:2013-03-28 16:39:49

标签: java arrays object stack multidimensional-array

我对java有点新,我在将我的节点数组放入堆栈时遇到了问题。

这里我创建全局myNode和应该包含myNode数组的堆栈。

static myNode[][] cells = new myNode[9][9];
static Stack<myNode[][]> myStack = new Stack<myNode[][]>();

我实例化数组中的每个元素并填充cells[row][column].values

for(int row = 0; row < 9; row++) {
        for(int column = 0; column < 9; column++)
        {
            //instantiate each element
            cells[row][column] = new myNode();
            cells[row][column].initialize();
            //set myNodes values of each element from given input
            String value = txt[row][column].getText(); //gets string from JTextBox
            if (!value.equals("")) //empty cells will equal 0;
            {
                cells[row][column].value = Integer.parseInt(txt[row][column].getText());
            }
        }
    }

我尝试推送单元格数组,然后稍后再回复(也许我这样做错了?):

cells[0][0].value = 9;

//push cells (save state)
myStack.push(cells);

//change cells
cells[0][0].value = 12345; //for example

//pop cells (revert state)
cells = myStack.pop();

System.out.println(Integer.toString(cells[0][0].value)); //will print 12345!

但这打印的值为12345而不是所需的9,显示我遇到的问题。我究竟做错了什么?是因为它正在推动堆栈上的指针吗?

0 个答案:

没有答案