将3个数组合并为多维数组

问题描述

我有三个单独的数组,我想合并成一个多维数组

    Array 3 [1,1,2,4,1]
    Array 2 [1,6,1]
    Array 1 [1,3,1]

我想要的输出是所有数组都在一个多维数组中,它们都彼此堆叠在一起。

最终数组=

     Array 3
     Array 2
     Array 1

我将如何去做?

解决方法

如果我正确理解了您的问题,那么您正在寻找这样的东西:

import java.util.stream.IntStream;

public class MultiDimensionalArrayDemo {
    
    public static void main(String[] args) {
        final int ROWS = 3;
        final int COLUMNS = 10;

        int array1 [] = {  0,1,2,3,4,5,6,7,8,9};
        int array2 [] = { 10,11,12,13,14,15,16,17,18,19};
        int array3 [] = { 20,21,22,23,24,25,26,27,28,29};

        int finalArray[][] =  new int[ROWS][];
        finalArray[0] = array1;
        finalArray[1] = array2;
        finalArray[2] = array3;

        System.out.println("Initial bi-dimensional array:");
        for(int i=0; i<ROWS; i++) {
            for(int j=0; j<COLUMNS; j++) {
                System.out.printf("%2d ",finalArray[i][j]);
            }
            System.out.println();
        }

        for(int i=0; i<ROWS-1; i++) {
            for(int j=0; j<COLUMNS; j++) {
                if(finalArray[i][j]==0) {
                    moveColumnUp(IntStream.range(i,ROWS).mapToObj(obj -> finalArray[obj]).toArray(int[][]::new),ROWS-i,j);
                }
            }
        }

        System.out.println("After transformation:");
        for(int i=0; i<ROWS; i++) {
            for(int j=0; j<COLUMNS; j++) {
                System.out.printf("%2d ",finalArray[i][j]);
            }
            System.out.println();
        }
    }

    private static void moveColumnUp(int matrix [][],int numberOfRows,int columnIndex) {
        int firstRowElement = matrix[0][columnIndex]; // temporarily store first row so it can be placed last
        for(int i=0; i<numberOfRows-1; i++) {
            matrix[i][columnIndex] = matrix[i+1][columnIndex];
        }
        matrix[numberOfRows-1][columnIndex] = firstRowElement;
    }
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...