获取String
Key
包含一些String片段的HashMap
的最简单方法是什么?是真的,唯一的办法是枚举所有的钥匙,并做substring()
?从包含字符串片段的HashMap获取密钥
这个伪代码获取确切的字符串,我需要只包含片段的字符串。
Map hm= new HashMap();
...
res = hm.get("blabla");
我需要使用Java 1.4中
获取String
Key
包含一些String片段的HashMap
的最简单方法是什么?是真的,唯一的办法是枚举所有的钥匙,并做substring()
?从包含字符串片段的HashMap获取密钥
这个伪代码获取确切的字符串,我需要只包含片段的字符串。
Map hm= new HashMap();
...
res = hm.get("blabla");
我需要使用Java 1.4中
是的,你必须循环上的所有键和搜索你想要的字符串。
HashMap.get将调用equals
,因此对于字符串,它们必须具有完全相同的内容。
您必须创建自定义数据结构或检查每个关键个体。以下内容返回列表:
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);
}
}
怀疑它会与java 1.4一起工作 – BigMike
对不起,没看过那行,现在应该工作吧 –
A-B问题。更好地告诉你为什么需要它。 – AdamSkywalker
如果你可以使用通用集合,你可以尝试http://tostring.me/287/partial-string-search-in-hashmap-key/,检查这个其他问题http://stackoverflow.com/questions/6713239/partial-search-in-hashmap – BigMike