2016-01-13 69 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

对不起,没看过那行,现在应该工作吧 –

相关问题