Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从二维阵列到一维阵列的转换_Java_Arrays_Implicit Conversion - Fatal编程技术网

Java 从二维阵列到一维阵列的转换

Java 从二维阵列到一维阵列的转换,java,arrays,implicit-conversion,Java,Arrays,Implicit Conversion,所以我正致力于将这种逻辑从2D应用程序转换为一维数组中的函数。最让我困惑的是数组以及它们的循环将如何工作。任何意见都将不胜感激 LcgRandom rand=new LcgRandom(); int[][]三角形=新的int[行][]; 对于(int i=0;i

所以我正致力于将这种逻辑从2D应用程序转换为一维数组中的函数。最让我困惑的是数组以及它们的循环将如何工作。任何意见都将不胜感激

LcgRandom rand=new LcgRandom();
int[][]三角形=新的int[行][];
对于(int i=0;i对于(int j=0;j如果您打算以行主形式存储2D数组,即首先线性存储所有行1元素,然后线性存储行2元素,依此类推,则需要调整索引计算

假设2D数组有R行和C列,则每行有C个元素。因此,您的索引计算如下:

array_1d[j + i*C] == array_2d[i][j] // This is true.

因此,您的1D数组将包含
R*C
元素。

因此,这是在“三角形”数据中进行迭代,这是否意味着将有“高度”*“高度”+1数据项?或者您是说可以使用上述代码段更改直接实现?您可以分配
r*c
元素,并使用上面给出的逻辑进行迭代(用于索引)如果你做得正确,它应该与2D的情况相同。如果每行的列数不同,你的
C
将相应地改变。