2017-06-16 91 views
-3

我想問你,如何比較java中的四個哈希映射大小。 如何找到,如果在所有HashMap中都有> = 2個鍵,如果它們在同一個中... 謝謝。處理HashMap<Integer, Whatever>時:Java |比較四個哈希映射

+1

你可以添加一個例子和你到目前爲止嘗試過的代碼嗎? –

+0

語言中沒有東西......必須爲此編寫自定義方法。 – dev8080

回答

1

您可以檢查包含HashMap的鍵的交叉長度:

Set<String> commonKeys = new HashSet<>(hashMap1.keySet()); 
commonKeys.retainAll(hashMap2.keySet()); 
commonKeys.retainAll(hashMap3.keySet()); 
commonKeys.retainAll(hashMap4.keySet()); 
commonKeys.size(); 

您應該將commonKeysSet的類型參數適應你HashMap S'鍵的類型你需要一個Set<Integer>

+0

這不會編譯。如果確實如此,它會*破壞*'hashMap1'。 – Andreas

+0

@Andreas確實,'retainAll'返回一個布爾值,不能鏈接。固定。編輯:也正確的'設置'備份'地圖',我也通過使用'addAll'修復,而不是在第一張地圖的鍵集上工作 – Aaron

+0

而不是'addAll()',只需在' HashSet'。 – Andreas