java - 二维数组,其单元格可以在索引处保存超过 1 个值

标签 java arrays matrix

我需要生成一个 4 行 4 列的矩阵。问题是有些单元格需要保存多个值。我不知道该怎么做。我应该创建另一个数组,所以 array [] value = {1,13}; 然后将其索引放入我的二维数组中?

 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} };

最佳答案

您可以改用 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]]]

关于java - 二维数组,其单元格可以在索引处保存超过 1 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27378745/

相关文章:

java - Bobo-Browse 兼容 Lucene 3.0.3 的最高版本是多少?

ios - 如何删除多个并行数组中的重复数据

c++ - 指向变量的指针与指向一个元素数组或零元素数组的指针相同吗?

matrix - 带有图像和 xrange 的绘图矩阵出现问题

python - 从行向量创建 block 矩阵的最佳方法是什么?

java - Java 中的观察者模式 - 观察者观察不同的、不相关的类型或类?

java - 在异常 "throws"中使用泛型并具有 List<String> 参数的类无法编译

r - 正确地将数字转换为 R 中的颜色(矩阵或其他)

java - 当存储库返回类型为 List<Post> 时,Spring JPA 查询返回 List<PageImpl>

arrays - Scheme 语言中的 3D 数组