gpt4 book ai didi

java - 删除所有键后无法将键添加到字典中

转载 作者:行者123 更新时间:2023-11-30 07:56:09 25 4
gpt4 key购买 nike

我能够将键添加到字典中,然后继续通过循环迭代我从字典中删除所有值,但是一旦我尝试在字典中添加任何键,它似乎不会添加

这是代码

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”的输出:(

有人可以帮助我改进代码吗?

最佳答案

您没有调用 Enumeration#nextElement,因此您始终卡在 for 循环 中的第一个元素之前

相反,您可以使用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 ),而是使用 MapHashMap

关于java - 删除所有键后无法将键添加到字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32645398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com