Java Collection Lib还是自定义类?

时间:2011-11-08 20:41:40

标签: java data-structures collections arraylist

我正在开发一个映射实用程序,它需要以CSV格式将适量的数据输入到应用程序中。这些CSV文件可能包含100000条记录,每条记录包含大约50个项目。我可能需要一次打开其中几个文件。数据需要双精度,但不需要记录中的每个项目。这些项可以转换为int或调用toString。

我的问题是:我的第一个想法是创建一个double []的ArrayList。我的第二个想法是创建一个自定义数据对象(MyDataClass的ArrayList)来保存我需要的表单中的数据。这将让我创建一个大约45-50个实例变量的类。我从未在这个规模上做过任何事情,并且可以在这项任务的最佳实践中使用一些指导!

1 个答案:

答案 0 :(得分:0)

这两种方法都很好。这一切都取决于你对数据的处理方式。如果它只是数据并且除了getter之外没有任何方法,那么创建一个类来保存它们可能有点过分。如果要向行添加某些行为,请创建一个类。独特类中的50个字段有点太多了。您可以将类拆分为逻辑组,但这一切都取决于数据所代表的内容。

如果我们假设您打开了10个文件,每个文件有100000 * 50个双打,则大约需要380 MB。您必须为每个双精度数组和ArrayLists添加内存。这么多的内存可能太多了,或者可能没问题。这一切都取决于您在JVM中的内存。如果无法将所有内容保存在内存中,请考虑根据需要读取文件,或将数据存储在数据库中。