我能够将字符串添加到字典中,然后继续循环迭代我将从字典中删除所有值,但是如果我尝试在字典中添加任何键,则它似乎不会添加
这是代码
public static void main(String[] args) {
Dictionary dict = new Hashtable();
dict.put("1", "Aniruddha");
dict.put("2", "Anir");
dict.put("3", "Anirdha");
dict.put("4", "Anuddha");
for(Enumeration key = dict.keys(); key.hasMoreElements();)
{
dict.remove(key);
}
dict.put("5", "swew");
System.out.println(dict.get("5"));
}
我没有得到关键字“5”的输出:(
有人可以帮我改进代码吗?
答案 0 :(得分:1)
您没有致电Enumeration#nextElement
,因此您经常被卡在for-loop
相反,您可以使用while-loop
,例如......
Dictionary<String, String> dict = new Hashtable<>();
dict.put("1", "Aniruddha");
dict.put("2", "Anir");
dict.put("3", "Anirdha");
dict.put("4", "Anuddha");
Enumeration<String> keys = dict.keys();
while (keys.hasMoreElements()) {
String theRealKey = keys.nextElement();
dict.remove(theRealKey);
}
dict.put("5", "swew");
System.out.println(dict.get("5"));
另一方面,除非您通过多个主题修改Dictionary
,否则您真的不应该使用HashTable
(或Dictionary
),而是使用Map
和HashMap