Java 如何通过检查条目的值从hashmap中删除条目?

Java 如何通过检查条目的值从hashmap中删除条目?,java,collections,hashmap,iteration,Java,Collections,Hashmap,Iteration,我有一个java映射,它的键是字符串,值是整数。我想从此映射中删除一个值不大于5的特定条目(键/值)。有人能建议我怎么做吗 谢谢 如果您只有一个常规映射(即没有实现反向映射的附加数据结构),那么最好的选择是迭代值集,测试每个值,然后使用Iterator.remove()删除相关值 如果您有辅助数据结构,则可以使用它来标识要删除的条目。但“成本”是这样的数据结构需要空间来表示,需要时间来更新。。。而且您的代码更复杂。如果您只有一个常规映射(即没有实现反向映射的附加数据结构),那么最好的选择是迭代值

我有一个java映射,它的键是字符串,值是整数。我想从此映射中删除一个值不大于5的特定条目(键/值)。有人能建议我怎么做吗


谢谢

如果您只有一个常规映射(即没有实现反向映射的附加数据结构),那么最好的选择是迭代值集,测试每个值,然后使用
Iterator.remove()
删除相关值


如果您有辅助数据结构,则可以使用它来标识要删除的条目。但“成本”是这样的数据结构需要空间来表示,需要时间来更新。。。而且您的代码更复杂。

如果您只有一个常规映射(即没有实现反向映射的附加数据结构),那么最好的选择是迭代值集,测试每个值,然后使用
迭代器.remove()
删除相关值


如果您有辅助数据结构,则可以使用它来标识要删除的条目。但“成本”是这样的数据结构需要空间来表示,需要时间来更新。。。而且您的代码更复杂。

好的!我做的工作如下。感谢Stephen C:

Iterator<Map.Entry<String,Integer>> iter = TestMap.entrySet().iterator();
while (iter.hasNext()) {
    Map.Entry<String,Integer> entry = iter.next();
    if(entry.getValue() <= 5){
        iter.remove();
    }
}
迭代器iter=TestMap.entrySet().Iterator(); while(iter.hasNext()){ Map.Entry=iter.next();
if(entry.getValue()好!我做了如下工作。感谢Stephen C:

Iterator<Map.Entry<String,Integer>> iter = TestMap.entrySet().iterator();
while (iter.hasNext()) {
    Map.Entry<String,Integer> entry = iter.next();
    if(entry.getValue() <= 5){
        iter.remove();
    }
}
迭代器iter=TestMap.entrySet().Iterator(); while(iter.hasNext()){ Map.Entry=iter.next(); if(entry.getValue()