2011-12-19 146 views
0

我有這種類型ArrayList<HashMap<String,String>>。我想檢查一個鍵是否存在於該數組列表中。我可以通過for循環做到這一點,但有沒有其他方法可以做到這一點?檢查HashMap的Java ArrayList <String,String>是否包含密鑰

+2

循環是最容易的。是否有一個特別的原因,你正在尋找替代品? – NPE 2011-12-19 17:43:58

+0

你從哪裏得到清單?這些HashMaps中有什麼(即任何特殊或基本上隨機的String到String映射)? – Stefan 2011-12-19 20:16:18

回答

-3

進入我的想法和可能的工作最簡單的方法是擴展HashMap類並實現.equals()方法。無論如何,這種方法也在內部使用interation。

0

在構建這些單獨的HashMaps時,如果您可以構建一個超級散列映射,則不需要for循環。但不知道它是否可能。只需在該超級哈希映射中查找即可。

+0

這可能很容易出錯,特別是如果你刪除了一些元素。數據的重複通常不是一個好主意。 – toto2 2011-12-19 18:05:42

1

沿着@ Bhushan的答案,創建一個封裝了地圖ArrayList和鍵值的Map的新類。例如。

public class EncapsulatedLookup { 
    private ArrayList<HashMap<String,String>> data; 
    private Map<String, Integer> keyToArrayListPosition lookup; 
} 

添加方法,以確保無論何時添加/刪除data,你也更新lookup

相關問題