【问题标题】:Need help transferring the contents of a 1D array to a 2D array需要帮助将一维数组的内容传输到二维数组
【发布时间】:2016-04-25 21:34:39
【问题描述】:

我解析了一个由特定列和行组成的 csv 文件,并将该信息放入 String[] array1D。例如,如果我打印 array1D[0] (在索引 0 的文件列上是具有每行编号的列),它会打印出所有行号。对于其余的列,它的处理相同。如何将此一维数组的内容转换为多维数组?我尝试过使用嵌套的 for 循环,但我的实现存在缺陷,或者它无法用 for 循环完成。

编辑: 对于我的 csv 文件,索引 0 处的列是对每一行进行编号的列。如果我打印出String[0] array1D它将打印出来

1
2
3
4
5
...

编辑 2:实际上我找到了解决问题的方法。我需要将我的数组放入一个二维数组中,这样我就可以执行某些功能,例如平均某一列中的所有数字。但是,我可以使用 if 语句并将我想要执行任何功能的列放入新的数组列表中。然后我可以将该函数应用于该数组列表。

【问题讨论】:

  • 你能发布一个示例输出以及它应该是什么

标签: java arrays multidimensional-array


【解决方案1】:

我将向您解释这个概念。鉴于我没有确切的信息,我无法为您提供确切的公式。

首先,您必须确保每列的# of rows 列在所有列中都是相同的。为了便于讨论,假设您有10 行和4 columns。总的来说,您在单个数组中有 40 个项目。

现在是棘手的部分。对于index%columnCount == 0 的每个索引都是您在二维数组中的新行。所以在这种情况下,例如0/10 == 0 是索引 0 处的数组。 10%10 == 0 将是您在索引 1 处的新行,最后 30%10 == 0 将是您的二维数组中的 3 行。

我希望你有这个想法。如果您需要更多解释,请告诉我

【讨论】:

  • 这可能需要更多解释,但对我来说,这听起来像是 csv 文件中的每个元素在一维数组中都有自己的索引的情况。对我来说,在列索引 0 处,存储在(行 x,列 0)的每个元素都存储在我的 1d 数组的索引 0 处。
  • 能否在您的问题中添加一个示例。
【解决方案2】:

如果您知道一行中有多少项目,那么您可以将一维数组分解为二维数组。一旦有了标识符,您就可以将数组从那里分成单独的行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多