用两个一维数组填充Java中的二维数组

6
我有两个一维数组,正在尝试将它们填充到一个二维数组中,在JAVA中。
例如:
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++) {
        ???
    }
}

我有点卡在那里了……
3个回答

15

二维数组就是由若干个一维数组组成的数组。那么你为什么不试试这样做呢?

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();
}

为什么其他人都在给出不同的答案呢?这个回答值得点赞。 - Kuldeep Jain

3

试试这个:

ArrayList<Integer[]> tempList = new ArrayList<Integer[]>();

tempList.add(x);
tempList.add(y);

Integer result[][] = new Integer[tempList.size()][];
result = tempList.toArray(tempList);

1
ArrayList只是数组的临时容器。您可以将多个不同大小的数组添加到ArrayList中,然后使用toArray()方法从中获取相应的二维数组。 但如果符合您的需求,Deporter的答案显然更简单。 - Baris Akar

1

你需要反转行和列的索引

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接