java - 使用for循环将三个一维合并为一个多维数组

标签 java arrays multidimensional-array

我正在尝试理解数组和循环。所以我想将三个一维数组合并为一个。你能给我一些建议吗?你知道在编程中很好地理解这个主题的任何好的培训吗? 我们得到了代码,这就是我现在想出的:

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


    int[] arr1 = new int[]{1, 2, 3};
    int[] arr2 = new int[]{4, 5, 6};
    int[] arr3 = new int[]{7, 8, 9};

    int[][] arrX = new int[3][3];


    for(int i = 0; i<3; i++){
        for (int j = 0; j < 3; j++){
            arrX[i][j] = arr1[i] + arr2[j]; //Dont how to resolve this       without using any "Java built-in methods"
        }

    }

    for(int x = 0; x < arrX.length; x++){
        for (int y = 0; y <arrX[x].length; y++){
           System.out.print(arrX[x][y] + " ");
        }
    }

  //  System.out.println(Arrays.deepToString(tabx));

}

最佳答案

您已接近解决方案,但您只需要一个循环(外部循环):

for (int i = 0; i<3; i++) {
    arrX[1][i] = arr1[i];
    arrX[2][i] = arr2[i];
    arrX[3][i] = arr3[i];
}

迭代这三个数组只有将它们合并到一个数据结构中后才有效。

当然更简单的方法是使用这个:

arrX[1] = arr1;
arrX[2] = arr2;
arrX[3] = arr3;

或更短:

int[][] arrX = new int[][] {arr1, arr2, arr3};

或者从一开始就开始创建它:

int[][] arrX = new int[][] {{1,2,3},{4,5,6},{7,8,9}};

请允许我提一下,数组 是一种非常基本的数据类型 - 在我看来应该避免Arrays 可能在极端情况下(嵌入式编程、高性能任务等)很有用 - 但通常使用 Collection 是可行的方法。

  • 集合更易于使用
  • 集合是“真正的”类
  • 集合并没有人们想象的那么糟糕

尝试使用 ListSetMap - 或者将结构化数据存储在您自己的类的有意义的字段中。

关于java - 使用for循环将三个一维合并为一个多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35633812/

相关文章:

java - 将 Spring Boot 应用程序部署到 Elastic Beanstalk 时出现 502 Bad Gateway

c - 数组名是C语言中的指针吗?

PHP foreach 从数组

java - 为什么 Arrays.deepEquals(Object[]arr1,Object[]arr2) 适用于原始多维数组,如 int[][] 、float[][] 等?

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 哪种类型的数据结构最好?

Php数组在相交键之后对关联键进行排序

java - 用曼哈顿距离模式填充二维数组

c++ - 初始化一个二维字符串数组

java - 如何使用 Java API Streams 执行此类操作?