java hashtable如何遍历
遍历 Java Hashtable 的方法
使用 Enumeration 遍历键
通过 keys() 方法获取键的枚举,然后逐个访问键值对:
Hashtable<String, Integer> hashtable = new Hashtable<>();
Enumeration<String> keys = hashtable.keys();
while (keys.hasMoreElements()) {
String key = keys.nextElement();
Integer value = hashtable.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
使用 Iterator 遍历键值对
通过 entrySet() 方法获取键值对的集合,使用迭代器遍历:
Iterator<Map.Entry<String, Integer>> iterator = hashtable.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
使用 for-each 循环遍历
直接遍历 entrySet() 返回的键值对集合:
for (Map.Entry<String, Integer> entry : hashtable.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
遍历键或值
单独遍历键或值:
for (String key : hashtable.keySet()) {
System.out.println("Key: " + key);
}
for (Integer value : hashtable.values()) {
System.out.println("Value: " + value);
}
注意事项

- Hashtable 是线程安全的,但遍历时若被其他线程修改可能抛出
ConcurrentModificationException。 - 使用迭代器时可以通过
remove()方法安全删除元素。 - Java 8 之后可以使用 Lambda 表达式简化遍历操作:
hashtable.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));






