Java - 利用可用的数据结构或创建新的数据结构

时间:2017-02-10 04:56:27

标签: java

我的问题是,我们何时需要创建新的数据结构,何时应该使用内置数据结构。

假设,我必须阅读一个文件。基于模式匹配,我必须获得3个属性。即propertyA, propertyB, propertyC

从5个文件中收集这3个属性后,我必须写入数据库。

选项1:

创建一个读取文件的阅读器将返回MapJson。 调用reader的类将接收返回的dataStructure。在这种情况下,它是Map or Json

我将在调用者类Map<StringFileName, MapReturnedData>中创建另一个地图。

如果我从所有文件中获取所有数据,我会将其填充到数据库中。

选项2

而不是Map or Json创建具有3个属性及其getter和setter的用户定义类。

我们必须使用哪一个?如果两者都相同,那么我们必须使用用户定义和内置?

2 个答案:

答案 0 :(得分:0)

在我看来,它归结为您将对数据进行多少处理。如果只读取3个属性然后写入数据库,则选项1是直接选择。它可能表现更好,因为它可能会减少正在创建的对象的数量。另一方面,如果数据需要格式化和转换,如果您可能正在处理某些字段以创建新字段等,那么如果您将数据读入编写良好的类结构并封装某些字段,则其他人更容易理解在课堂上进行处理(选项2)。

答案 1 :(得分:0)

  1. 如果您有大文件并且您的数据结构已定义意味着您拥有内置数据类型可轻松支持的数据,那么您可以使用MapJson方式获取数据从文件中将其放入DB中。 如果您使用的是NOSql数据库,则第一个选项很好。 如果您在从文件中读取数据后进行了一些处理,则此选项很好。

  2. 根据您的测试方案,您必须使用自己的POJO 3个属性。即propertyA, propertyB, propertyC如果只是读写,那么这个选项是理想的选择。

  3. 当您使用POJO选项时,这将为您提供更好的维护和灵活性,以添加或删除属性。 如果你想要自己的标记,那么转到用户定义的选项。

      

    何时使用用户定义和内置。

    内置数据类型是通用数据类型,如int, float array, etc

    用户定义的数据类型是用户/程序员自己定义的数据类型。例如,类,接口。如果您的数据不适合内置数据类型,则只使用用户定义的数据类型。

    根据您的数据和&amp;您希望如何管理这些数据。 更详细的信息请查看this link