Java 存储特殊结构数据的最佳数据结构

Java 存储特殊结构数据的最佳数据结构,java,data-structures,Java,Data Structures,所以,我将在一个数据库中循环,将会有一系列的活动。每个活动都会有一些演示和满足某些条件的站点。我想为所有活动、站点和演示对应的数据绘制一些图表。我在考虑使用java,首先获得满足条件的活动、站点和演示组合,然后遍历所有这些组合,根据它们的值运行单个查询,并使用GNU plot绘制图形。我的问题是—— 有没有更好的方法来实现这一点(使用最少的查询) 如果我这样做,我首先必须存储信息 我正在考虑将活动ID存储在一个整数数组列表中,其中包含每个活动的演示 ArrayList<ArrayLis

所以,我将在一个数据库中循环,将会有一系列的活动。每个活动都会有一些演示和满足某些条件的站点。我想为所有活动、站点和演示对应的数据绘制一些图表。我在考虑使用java,首先获得满足条件的活动、站点和演示组合,然后遍历所有这些组合,根据它们的值运行单个查询,并使用GNU plot绘制图形。我的问题是——

  • 有没有更好的方法来实现这一点(使用最少的查询)
  • 如果我这样做,我首先必须存储信息 我正在考虑将活动ID存储在一个整数数组列表中,其中包含每个活动的演示

      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绘图似乎是一个很好的选择,但谷歌图表等其他想法将是伟大的@弗兰克:我目前的解决方案是为每个组合发送一个查询。