0

我仍然在创建一个数组来存储我的 CSV 文件的信息时遇到问题。这是我的 csv - 文件的示例。

Time;Data0;Data1;Data2;
27.08.2013 00:00:00;nan;nan;nan;
27.08.2013 00:10:00;0;1;2;

如您所见,它们是 3 种类型。-String : 列名(例如Time),或 nan-NotANumber-。-Double : 对于 , Data0,Data1的值Data2。-Timestamp :用于Time值。

列的名称总是在文件的第一行。我可以有大量的行和列。

所以现在我的问题是:获取这些信息并将它们存储在类似数组的形式中的最简单方法是什么?我需要轻松访问信息,例如通过搜索名为Data0我希望能够访问nan和访问的字段0

我做了什么:我试图将它存储到地图中,但这不是我想要的(或者显然我没有正确使用它)。此外,我仅限于两个元素,我有三个。我也尝试在数组中执行此操作,但是由于只能在 Java 中的一种类型之后定义数组,因此我尝试在类之后进行定义:

public class StorageArray {
    String nameColumn;
    Double contentLine;
    Timestamp time;
}

但是后来我不知道如何在我的班级的不同变量中存储不同的类型。

我是Java初学者,所以也许有一种简单的方法可以做我想做的事?如果您希望我提供更多代码,我可以,但我想让问题尽可能简单。

一位朋友告诉我使用自省对象关系映射(ORM)。但这对我来说似乎相当困难。

4

1 回答 1

0

我认为你不需要Double contentLine

使用LinkedHashMap<String /*nameColumn*/,Timestamp /*time*/ >.

地图中的存储索引是您的行。

其他方式,使用Linkedlist<SomeYourClass>whereSomeYourClass代表你的行(我认为这很容易处理):

public class Row
{
List<String> nameColumnList;
//Double contentLine; /* you don't need it*/
Timestamp time;
// ...
}
于 2013-08-29T15:23:09.637 回答