java如何将二维数组合并为一维数组?
我很难想出如何将多维数组合并到单个数组中
这是我的密码:
String[][] multiArray = {{"1","2","3"},{"4","5","6"}};
String[] singleArray = new String[6];
for(int i=0; i<singleArray.length; i++)
{
for(int x=0; x<multiArray.length; x++)
{
for(int z=0; z<multiArray[x].length;z++)
{
//for(int i=0; i<singleArray.length; i++)
//{
singleArray[i] = multiArray[x][z];
//}
}
}
}
for(String temp : singleArray){
System.out.println(temp);
}
结果是
6
6
6
6
6
6
为什么呢?如何将所有数字放入一个数组中? 非常感谢
# 1 楼答案
您需要为多维数组中的每个条目增加一维数组的索引:
注意
i
在外部循环中初始化,并且在一维数组中赋值时递增另一个等效的替代方法是在内部循环中增加
i
:# 2 楼答案
你的代码不符合逻辑。在增加单个数组的索引之前,需要迭代多维数组的所有值。这就是为什么单个数组的每个项都包含多维数组的最后一项
您应该避免在单个数组上进行排序,并使用计数器写入其值。试试这个:
# 3 楼答案
# 4 楼答案
在代码中,您开始迭代要存储所有值的数组。您不应该开始对它进行迭代,因为它没有数据
逻辑很简单:您应该迭代已有的元素,读取每个元素并将其添加到目标数组中
首先是数组第一维的循环,然后是数组第二维的嵌入式循环,现在可以读取二维数组的每个数据
# 5 楼答案
实际上,在代码中,i的值没有改变,没有必要让i作为所有循环的父循环,在每个更新步骤之后,您必须增加i的值
# 6 楼答案
使用集合如何