使用复合字符串键删除哈希图中的条目

Ank*_*gal 0 java

我有hashmap Key是由3个元素(element1 + element2 + element3)串联而成的String

String key=element1+element2+element3;
Run Code Online (Sandbox Code Playgroud)

放在哈希图中

HashMap<String,Object> map=new Hashmap<String,Object>();
map.put(key,new Object());
Run Code Online (Sandbox Code Playgroud)

我想删除具有element2 if(key.contains(“ element2”))的hashmap匹配键中的所有条目,然后删除hashmap中的该条目。

如何做到这一点?

das*_*ght 5

哈希映射需要一个确切的密钥-无法使用部分密钥进行访问,这意味着您需要迭代所有密钥,检查上是否匹配"element2",并在操作时删除元素:

Iterator<Map.Entry<String,Object>> iter = map.entrySet().iterator();
while(iter.hasNext()){
     Map.Entry<String,Object> entry = iter.next();
     if (entry.key().contains("element2")) {
         iter.remove();
     }
}
Run Code Online (Sandbox Code Playgroud)