在Java中迭代和删除哈希表
我在Java中有一个哈希表,并希望迭代表中的所有值,并在迭代时删除特定的键值对。
如何做到这一点?
我在Java中有一个哈希表,并希望迭代表中的所有值,并在迭代时删除特定的键值对。
如何做到这一点?
您需要使用显式来循环访问 的条目集,而不是能够使用 Java 6 中提供的增强的 For-loop 语法。下面的示例循环访问一个 ,对,删除键为 null 或等于 0 的任何条目。java.util.Iterator
Map
Map
Integer
String
Integer
Map<Integer, String> map = ...
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next();
// Remove entry if key is null or equals 0.
if (entry.getKey() == null || entry.getKey() == 0) {
it.remove();
}
}
您可以使用 :Enumeration
Hashtable<Integer, String> table = ...
Enumeration<Integer> enumKey = table.keys();
while(enumKey.hasMoreElements()) {
Integer key = enumKey.nextElement();
String val = table.get(key);
if(key==0 && val.equals("0"))
table.remove(key);
}