我需要生成一个包含4行和4列的矩阵。事情是一些细胞需要持有多个值。我不确定如何做到这一点。我应该创建另一个数组,所以array [] value = {1,13};
然后将索引放在我的2d数组中吗?
Array [][] matrix = new Array [4][4];
matrix [][] = {{ a, b, c, d},
{{1,13}, 10, 6, 8},
{{2,14}, 11, 7, 9},
{{5,13,15}, {12,10}, 4, 4} };
答案 0 :(得分:2)
您可以使用3D数组。
我不确定你是否在数组中存储对象或基元,但让我们假设原语(它并没有真正有所作为):
int[][][] matrix = new int [4][4][];
matrix[1][1] = new int [] {10};
matrix[2][0] = new int [] {2,14};
matrix[3][0] = new int [] {5,13,15};
或者您可以直接初始化它:
int [][][] mat =
{{{0}, {0}, {0}, {0}},
{{1,13}, {10}, {6}, {8}},
{{2,14}, {11}, {7}, {9}},
{{5,13,15}, {12,10}, {4}, {4}}};
System.out.println (Arrays.deepToString (mat));
请注意,我将单个值更改为长度为1的数组,将第一行的字符更改为{0},因为这是一个int
数组。
输出(为了便于阅读,我添加了一些换行符和空格):
[[[0], [0], [0], [0]],
[[1, 13], [10], [6], [8]],
[[2, 14], [11], [7], [9]],
[[5, 13, 15], [12, 10], [4], [4]]]