我必须找到公制的平均值。
度量标准类看起来像这样:
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。