【问题标题】:populating 2d array with two 1d arrays in java在java中用两个一维数组填充二维数组
【发布时间】:2012-03-08 14:59:06
【问题描述】:

我有 2 个 1d 数组,我试图将它们填充到 JAVA 中的单个 2d 数组中。

例如:

x[] = {2,5,7,9}
y[] = {11,22,33,44}

结果应该是:

result[][] = {{2,5,7,9}, {11,22,33,44}}

我该怎么做?我目前有这样的事情:

for(int row = 0; row < 2; row++) {
    for(int col = 0; col == y.length; col++) {
        ???
    }
}

我有点卡在那里......

【问题讨论】:

    标签: java arrays loops multidimensional-array


    【解决方案1】:

    二维数组是数组的数组。那你为什么不试试这个呢?

    int result[][] = {x,y};
    

    为了确保它如此简单且有效,请对此进行测试:

    for(int i=0; i<result.length; i++)
    {
        for(int j=0; j<result[0].length; j++)
            System.out.print(result[i][j]+ " ");
        System.out.println();
    }
    

    【讨论】:

    • :) 为什么人们给出其他答案。为这个 +1。
    【解决方案2】:

    试试这个:

    ArrayList<Integer[]> tempList = new ArrayList<Integer[]>();
    
    tempList.add(x);
    tempList.add(y);
    
    Integer result[][] = new Integer[tempList.size()][];
    result = tempList.toArray(tempList);
    

    【讨论】:

    • arraylist 只是数组的临时容器。您可以将多个不同大小的数组添加到数组列表中,然后使用 toArray() 从中获取相应的二维数组。但是如果满足您的需求,驱逐者的答案显然会更简单。
    【解决方案3】:

    您必须还原行和列索引

    for(int row = 0; row < 2; row++)
    {
        for(int col = 0; col = y.length; col++)
        {
            ....
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      • 2015-01-24
      相关资源
      最近更新 更多