To convert a 2D array to a 1D array in Java, you can use the Arrays.stream
and flatMapToInt
methods to flatten the 2D array into a stream of integers, and then collect the stream into a 1D array using the toArray
method.
Here is an example of how you can convert a 2D array to a 1D array in Java:
refer to:lautturi.comint[][] array2D = {{1, 2, 3}, {4, 5, 6}}; int[] array1D = Arrays.stream(array2D) .flatMapToInt(Arrays::stream) .toArray();
This code defines a 2D array called array2D
and converts it to a 1D array called array1D
. The Arrays.stream
method creates a stream of the 2D array, and the flatMapToInt
method flattens the stream into a stream of integers. Finally, the toArray
method collects the stream into a 1D array.
You can also use a loop to manually copy the elements of the 2D array to a 1D array, like this:
int[][] array2D = {{1, 2, 3}, {4, 5, 6}}; int[] array1D = new int[array2D.length * array2D[0].length]; int index = 0; for (int i = 0; i < array2D.length; i++) { for (int j = 0; j < array2D[i].length; j++) { array1D[index++] = array2D[i][j]; } }
This code defines a 1D array with the same size as the 2D array, and uses two nested loops to copy the elements of the 2D array to the 1D array.
You can choose the approach that best fits your needs and constraints. For example, the stream-based approach might be more concise and efficient, but it requires Java 8 or higher and may not be suitable for large arrays.