[英]comparing values of two different hashmaps based on their key in java
我有兩個不同的哈希圖。 現在我需要根據哈希鍵比較哈希圖。
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
現在,我想比較“鍵”相同的哈希圖中的所有條目,並返回“值” String []的第二個索引之間的差
像這里這樣它應該返回:鍵:BOL值:SAPL,255
(如987-732 = 255)
怎么做?
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.