从String
获取包含某些字符串片段的Key
HashMap
的最简单方法是什么?是的,唯一的方法是枚举所有键并执行substring()
?
这个伪代码获得了精确的字符串,我需要只包含片段的字符串。
Map hm= new HashMap();
...
res = hm.get("blabla");
我需要使用java 1.4
答案 0 :(得分:2)
是的,你必须循环所有键并搜索你想要的子字符串。
HashMap.get会调用equals
,因此对于字符串,它们必须具有完全相同的内容。
答案 1 :(得分: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);
}
}