Java 存储特殊结构数据的最佳数据结构
所以,我将在一个数据库中循环,将会有一系列的活动。每个活动都会有一些演示和满足某些条件的站点。我想为所有活动、站点和演示对应的数据绘制一些图表。我在考虑使用java,首先获得满足条件的活动、站点和演示组合,然后遍历所有这些组合,根据它们的值运行单个查询,并使用GNU plot绘制图形。我的问题是——Java 存储特殊结构数据的最佳数据结构,java,data-structures,Java,Data Structures,所以,我将在一个数据库中循环,将会有一系列的活动。每个活动都会有一些演示和满足某些条件的站点。我想为所有活动、站点和演示对应的数据绘制一些图表。我在考虑使用java,首先获得满足条件的活动、站点和演示组合,然后遍历所有这些组合,根据它们的值运行单个查询,并使用GNU plot绘制图形。我的问题是—— 有没有更好的方法来实现这一点(使用最少的查询) 如果我这样做,我首先必须存储信息 我正在考虑将活动ID存储在一个整数数组列表中,其中包含每个活动的演示 ArrayList<ArrayLis
ArrayList<ArrayList<Integer>>
ArrayList<ArrayList<Integer>>
ArrayList
以及每项活动的网站
ArrayList<ArrayList<Integer>>
ArrayList<ArrayList<Integer>>
ArrayList
有没有更有效的方法来存储这些信息?
我建议您创建一个新类来保存您的活动数据,如果您需要在内存中保留对每个对象的句柄(可能没有必要),则在ArrayList中存储对这些对象的引用。
从纯粹主义者的角度来看,该类应该由数据访问对象(DAO)和普通旧Java对象(POJO)支持,以管理数据库访问和内存中的存储,但如果这是一个简单的原型,那么我就不会太担心了。我还建议使用一个实用程序类来转换/编写图表数据-所有这些都可以从活动类访问。
Campaign类还应该能够计算出您的条件是否满足,以及是否值得生成这些图表。
您存储数据只是为了制作图表,还是希望长期保存?出于图表目的,您的选择可能由您选择的任何图表机制/库驱动。例如,如果您想要基于web的,有Google Charts(),等等。我个人会向数据库发送每个图表的一个查询,每个查询都以尽可能接近图表所需结构的方式传递数据。这将需要更少的代码,因为SQL是声明性的,不需要运行嵌套循环等,而且数据库设计用于处理大量数据。但是你的里程数可能会有所不同,特别是如果你没有SQL经验的话。我不需要为以后存储数据,只需要曲线图。还有,将会有一大堆,我希望将它们全部保存为文件。GNU绘图似乎是一个很好的选择,但谷歌图表等其他想法将是伟大的@弗兰克:我目前的解决方案是为每个组合发送一个查询。