2016-01-13 67 views
2

獲取StringKey包含一些String片段的HashMap的最簡單方法是什麼?是真的,唯一的辦法是枚舉所有的鑰匙,並做substring()從包含字符串片段的HashMap獲取密鑰

這個僞代碼獲取確切的字符串,我需要只包含片段的字符串。

Map hm= new HashMap(); 
... 
res = hm.get("blabla"); 

我需要使用Java 1.4中

+1

A-B問題。更好地告訴你爲什麼需要它。 – AdamSkywalker

+0

如果你可以使用通用集合,你可以嘗試http://tostring.me/287/partial-string-search-in-hashmap-key/,檢查這個其他問題http://stackoverflow.com/questions/6713239/partial-search-in-hashmap – BigMike

回答

2

是的,你必須循環上的所有鍵和搜索你想要的字符串。

HashMap.get將調用equals,因此對於字符串,它們必須具有完全相同的內容。

1

您必須創建自定義數據結構或檢查每個關鍵個體。以下內容返回列表:

Set ref = hm.keySet(); 
Iterator it = ref.iterator(); 
List list = new ArrayList(); // list contaning the deired elements 

while (it.hasNext()) { 
    Object o = it.next(); 
    if(hm.get(o).contains(value)) { 
     list.add(o); 
    } 
} 
+2

懷疑它會與java 1.4一起工作 – BigMike

+0

對不起,沒看過那行,現在應該工作吧 –

相關問題