java需要帮助将一维数组的内容传输到二维数组
我解析了一个由特定列和行组成的csv文件,并将该信息放入String[] array1D
。例如,如果我打印array1D[0]
(在索引0处的文件列上是每行都有编号的列),它将打印出所有行号。对于其他专栏来说,情况是一样的。如何将此一维数组的内容转换为多维数组?我尝试过使用嵌套for循环,但我的实现有缺陷,或者是for循环无法实现
编辑:
对于我的csv文件,索引0处的列是对每行进行编号的列。如果我打印出String[0] array1D
,它会打印出来
1
2
3
4
5
...
编辑2:事实上我找到了解决问题的方法。我需要把我的数组放到一个2d数组中,这样我就可以执行某些函数,比如对某列中的所有数字求平均值。但是,我可以使用if语句,并将要执行任何函数的列放入新的arraylist中。然后我可以将该函数应用于该arraylist
# 1 楼答案
如果知道一行中有多少项,则可以将1d数组分解为2D数组。一旦有了一个标识符,您就可以从那里将数组拆分为单独的行
# 2 楼答案
我会向你解释这个概念。考虑到我没有确切的信息,我不能给你确切的公式
首先,您必须确保每列的
# of rows
列在所有列中都是相同的。为了便于讨论,假设您有10
行和4 columns
。在单个数组中总共有40
个项现在是棘手的部分。对于每个为
index%columnCount == 0
的索引,都是2D数组中的新行。所以在这种情况下,例如0/10 == 0
是索引0
处的数组10%10 == 0
将是索引1中的新行,最后30%10 == 0
将是2D数组中的3
行我希望你有这个想法。如果你需要更多的解释,请告诉我