从java中的地图地图中取平均值

时间:2015-03-07 17:03:26

标签: java dictionary hashmap average

我必须找到公制的平均值。

度量标准类看起来像这样:

public class Metric {

    private String metric_name;

    private double value;

    private long host_id;
}

对于单个指标,可能有多个主机,因此可能有多个值(每个主机)。 我想取每个主机值的平均值并存储每个指标。

我想要制作一张这样的地图地图:

Map<String, Map<Long,Double>> metricMap  = new HashMap<String, Map<Long,Double>>();

其中:

键是String,值也是HashMap,我们称之为valueMap

我想取一个valueMap的平均值并将其再次存储到metricMap

注意,valueMap有100个键值对,因此我想要它们的平均值。

所以最终,每个指标只有一个值给我平均值。

用Java做任何指针或想法吗?

我想先对内部地图进行排序然后再取平均值。但是这些指标有多个实例。

实际代码如下所示:

ArrayList <MetricStore> list = new ArrayList<MetricStore>(); 

    list = importStorage.storage.getList();
    for(MetricStore store: list) {

    //sort and take average of values

    // put it into the HasMap

    }

注意:我正在导入数据形式xml

问题在于我有多个度量标准,我无法为每个度量标准存储平均值。

谢谢!

编辑:

我的源代码是一个XML文件,如下所示:

        <store>
            <hostid>2</hostid>
            <metric>Bandwidth</metric>
            <value>56.0</value>
        </store>
        <store>
            <hostid>17</hostid>
            <metric>Bandwidth</metric>
            <value>150.841</value>
        </store>
        <store>
            <hostid>86</hostid>
            <metric>Bandwidth</metric>
            <value>30.30</value>
        </store>

我正在使用JAXB将其读回我的POJO。

0 个答案:

没有答案