使用随时间变化的数据创建对象

时间:2012-11-09 12:12:02

标签: java time statistics

我创建了一个存储大量数据的对象。

这个对象总共有15种不同类型,我需要按照以下时间范围存储数据:

8.00 9.00 10.00 11.00 12.00 //ect ect

这样做的一个例子是:在8.00 - 9.00之间,这种类型的数据将是15,而在9.00和10.00之间,它将是5。

现在,当我想计算这些数字的平均值时,我想得到每个时间段的平均值,例如我希望找到8.00和9.00之间的平均数据

我的问题不是如何获取数据,而是如何将数据存储在我的对象中。

到目前为止,我的对象看起来像这样:

    public class CallQueue {

    private String type;
    private int data;

    public CallQueue(String type, int data){
        this.type = type;
        this.data = data;   
    }
    public void setType(String type){
        this.type = type;
    }
    public String getType(){
        return type;
    }
    public void setData(int data){
        this.data = data;
    }
    public int getData(){
        return data;
    }
}

我的问题是:存储带有时间戳的Integer的最佳方法是什么?我宁愿避免使用HashmapHashtable,因为它们更难以循环!我可以通过某种方式避免这种情况,如果,那么如何?

更新 - 更多信息

我的目标是使用以下方法(这是在我的统计类中)

public void calculateAverage(double time){
        if (time != 20.00) {
        double data =0; 
        int times = 0;
        for (CallQueue cq : getData()) {
            data += cq.getData();
            times++;
        }       
        averageData.add(data/times);
        calculateAverage(time + 1);
        }
    }

如您所见,我想在8 - 19.00之间添加数据的平均值(间隔为1小时),所有这些都将添加到arrayList(averageData)!

因此for each loop需要在给定时间从每个对象获取所有数据

1 个答案:

答案 0 :(得分:1)

我的问题是:存储带有时间戳的整数的最佳方法是什么?

我会说。

创建一个包含两个成员的类

  

整数
  日期

这就是我能想到的方式。如果有更好的东西。不确定。