基本上我希望能够存储像这样的
这样的2D数组int [][] preferredMoves = {
{0,0}, {0, arrLength}, {length%2, arrLength},
{0, length%2}, {arrLength, 0}, {0, length%2},
{arrLength, arrLength}, {length%2, length%2},
{arrLength, length%2}, {length%2, 0}
};
单一
int [] moves;
阵列。
我确信这是可能的,因为我只是存储一个列表......但我似乎无法在任何地方找到相关信息......或者可能不可能?
修改 我正在处理矩阵。 我想将列表存储在一个数组中,然后返回该数组以在其他地方使用它。
所以每当我打电话给它时,我所要做的就是这样......
int row = Computer.moves()[0];
int col = Computer.moves()[1];
我还需要循环遍历包含2D数组的单个数组..
答案 0 :(得分:3)
不确定这是不是你的意思,
但您可以删除内部{ ... }
以将其转换为一维数组:
int [] moves = {
0, 0, 0, arrLength, length % 2, arrLength,
0, length % 2, arrLength, 0, 0, length % 2,
arrLength, arrLength, length % 2, length % 2,
arrLength, length % 2, length % 2, 0
};
您可以使用以下公式将2D索引(i, j)
转换为1D索引k
:
k = i * 2 + j;
答案 1 :(得分:0)
Janos的回答可能就是你想要的。或者你可以创建一个类,例如Pair
,并将其存储在Pair[]
数组中。