Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_For Loop_Multidimensional Array_Nested Loops - Fatal编程技术网

Java 如何将二维数组展平为一维数组

Java 如何将二维数组展平为一维数组,java,arrays,for-loop,multidimensional-array,nested-loops,Java,Arrays,For Loop,Multidimensional Array,Nested Loops,在java中,如何将二维数组转换为一维数组。我有2d数组的代码,但不知道从哪里开始。 2d阵列的输出是一个8×10的网格,数字范围为1-80 public class move { public static void main (String[] args) { int[][] twoarray = new int[8][10]; int i ; int j ; for(i =0; i < 8; i++

在java中,如何将二维数组转换为一维数组。我有2d数组的代码,但不知道从哪里开始。 2d阵列的输出是一个8×10的网格,数字范围为1-80

public class move
{
    public static void main (String[] args)
    {

        int[][] twoarray = new int[8][10];

        int i ;
        int j ;

        for(i =0; i < 8; i++)
        {
            for(j = 0; j < 10; j++)
            twoarray[i][j] = (i * 10 + j+1);
        }


        for(i = 0; i < 8; i++)
        {
            for(j = 0; j < 10; j++)
            {
                System.out.print(twoarray[i][j]);
                System.out.print("  ");


            }
            System.out.println();
        }

        int[] array = new int[80];

    }
}
使用Java8

使用Java7或更早版本


您可以在for循环中执行以下操作:

int[] array = new int[80];
int k=0;
for(i = 0; i < 8; i++){
    for(j = 0; j < 10; j++){
        array[k++]=twoarray[i][j];
    }
}

如果有任何答案解决了你的问题,请考虑一个答案。
int[] array = new int[80];
int index = 0;
for (int[] row : twoarray) {
    for (int val : row)
        array[index++] = val;
}
int[] array = new int[80];
int k=0;
for(i = 0; i < 8; i++){
    for(j = 0; j < 10; j++){
        array[k++]=twoarray[i][j];
    }
}