How to convert a 2D array to a 1D array in Java

2 Answers

0 votes
public class Convert2DArrayInto1DArray_Java {
    public static int[] arr2DTo1D(int[][] arr2d) {
        int[] arr = new int[arr2d.length * arr2d[0].length];
        int k = 0;
        for (int i = 0; i < arr2d.length; i++) {
            for (int j = 0; j < arr2d[i].length; j++) {
                arr[k++] = arr2d[i][j];
            }
        }
        return arr;
    }

    public static void main(String[] args) {
        int[][] arr2d = { 
            { 5, 6, 1 }, 
            { 3, 8, 0 },
            { 9, 2, 7 } 
        };

        int[] arr = arr2DTo1D(arr2d);

        for (int n : arr) {
            System.out.print(n + "\t");
        }
    }
}



/*
run:
  
5   6   1   3   8   0   9   2   7   
  
*/

 

 



answered Aug 14, 2024 by avibootz
0 votes
import java.util.Arrays;

public class Convert2DArrayInto1DArray_Java {
    public static int[] arr2DTo1D(int[][] arr2d) {
        int[] arr = Arrays.stream(arr2d)
                          .flatMapToInt(Arrays::stream)
                          .toArray();
        return arr;
    }
 
    public static void main(String[] args) {
        int[][] arr2d = { 
            { 5, 6, 1, 4 }, 
            { 3, 8, 0, 5 },
            { 9, 2, 7, 6 } 
        };
 
        int[] arr = arr2DTo1D(arr2d);
 
        for (int n : arr) {
            System.out.print(n + "\t");
        }
    }
}
 
 
 
/*
run:
   
5	6	1	4	3	8	0	5	9	2	7	6	
   
*/

 



answered Aug 15, 2024 by avibootz

Related questions

1 answer 159 views
1 answer 135 views
1 answer 169 views
169 views asked Jan 8, 2017 by avibootz
1 answer 99 views
1 answer 107 views
2 answers 125 views
1 answer 94 views
...