我有一个 java 映射,其键为字符串,值为整数。我想从这张地图中删除一个值不大于 5 的特定条目(键/值)。任何人都可以建议我该怎么做吗?
谢谢!
我有一个 java 映射,其键为字符串,值为整数。我想从这张地图中删除一个值不大于 5 的特定条目(键/值)。任何人都可以建议我该怎么做吗?
谢谢!
如果您只有一个常规映射(即没有实现反向映射的附加数据结构),那么您最好的选择是迭代值集,测试每个值,并使用Iterator.remove()
删除相关的值。
如果您有辅助数据结构,您可以使用它来识别要删除的条目。但是“成本”是这样的数据结构需要空间来表示和时间来更新......而且你的代码更复杂。
行!我做了以下工作。感谢斯蒂芬 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();
}
}