从HashMap获取包含字符串片段的密钥

时间:2016-01-13 08:04:30

标签: java hashmap

String获取包含某些字符串片段的Key HashMap的最简单方法是什么?是的,唯一的方法是枚举所有键并执行substring()

这个伪代码获得了精确的字符串,我需要只包含片段的字符串。

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

我需要使用java 1.4

2 个答案:

答案 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); 
    } 
}