我想将一个2d Char数组存储到ArrayList中

时间:2017-01-07 21:30:58

标签: java arrays arraylist

首先,我检查过以前的帖子但仍然找不到答案。所以这是我的问题:我想存储一个2d char数组,显示棋盘的特定状态(例如起始状态)到ArrayList。状态的一个例子是:

ChessState

我如何将这个状态(一个名为chessBoard的二维char数组)存储到一个名为chessState的ArrayList中?

这些名字并不重要,但我认为这将有助于提供任何帮助。

我以前的尝试让我和C#22e7c30e"在我的输出中。

感谢您提供任何帮助!

3 个答案:

答案 0 :(得分:0)

为什么不制作包含2D字符数组的 ChessState 类,然后制作这些状态的arraylist?

public class ChessState {
...
}



public class Chess {
...

ArrayList<ChessState> = ...

...
}

答案 1 :(得分:0)

ArrayList<char[][]> ChessState= new ArrayList<char[][]>();
ChessState.add(chessBoard);

通常你可以把任何你喜欢的东西放在一个数组中。如果您想了解有关棋盘的更多信息,请使用对象。上面的代码应该适用于2d char数组。

答案 2 :(得分:0)

public char[][] possibleChessMove = new char[8][8];

ArrayList<char[][]> storeMoves = new ArrayList<>();

在将possibleChessMove填充到起始板状态后,我做了这个:

 storeMoves.add(possibleChessMove);

                        for (int i=0;i<storeMoves.size();i++ ) {
                            for (int j=0;j<8;j++) {
                                for (int k=0;k<8;k++) {
                                    System.out.print(storeMoves.get(i)[j][k]+" ");

                                }
                                System.out.println("");
                            }
                            System.out.println("\n\n\n");
                        }

最初我问的问题是如何存储它们,因为我确实认为我存储错误。但最终我打印的方式不正确。