我有两个不同的哈希图。现在我需要根据键来比较哈希图。喜欢,
HashMap1:
Key: BOF Value: SAPF,754
Key: BOM Value: SAPM,456
Key: BOL Value: SAPL,987
HashMap2:
Key: LOF Value: YTR,654
Key: BOL Value: UHG,732
现在我想比较'key'相同的哈希映射中的所有条目,并返回'values'的第二个索引之间的差异String []
就像这里它应该返回: 关键:BOL值:SAPL,255
(如987-732 = 255)
怎么做?
答案 0 :(得分:0)
map.keySet()
将返回地图中的一组键。然后你必须从这两个地图获得这个键的价值并找到差异。
Map<String, String[]> mp1 = //
Map<String, String[]> mp2 = //
Map<String, List<String>> res = new HashMap<>();
for (String key : mp1.keySet()) {
int val1 = Integer.valueOf(mp1.get(key)[1]);
int val2 = Integer.valueOf(mp2.get(key)[1]);
List<String> resVal = new ArrayList<>();
resVal.add(mp1.get(key)[0]);
resVal.add(String.valueOf(val1-val2));
res.put(key, resVal);
}
return res;
还有一件事,你要检查是否存在。否则你会得到NullPointerException