簡體   English   中英

根據Java中的鍵比較兩個不同哈希圖的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM