获取hashmap中值之间的差异

时间:2014-05-22 03:20:09

标签: java hashmap

假设我有两个hashmaps modelone和modeltwo,其值如下:

Hashmap<String, float> modelone, modeltwo, modelthree;
modelone.put("a", 1);
modelone.put("b", 3);
modelone.put("c", 2);

modeltwo.put("a", 3);
modeltwo.put("b", 1);
modeltwo.put("c", 7);

(使用String和float,因为数据中需要有扩展空间)

我如何能够区分这些哈希映射中的值,以便它们导致新的hashmap包含值之间的差异,以便modelthree包含如下结果:

("a", 2)
("b", 2)
("c", 5)

我会得到数字之间的绝对差异

感谢。

1 个答案:

答案 0 :(得分:1)

迭代您的地图,计算两个值之间的差异,然后将其存储到第三张地图中。

例如:

for (String key : modelone.keySet()) {
    if (! modeltwo.containsKey(key)) {
        modelthree.put(key, modelone.get(key));
    }
    else {
        modelthree.put(key, (float)Math.abs(modelone.get(key) - modeltwo.get(key));
    }
}