如何在哈希映射中更改键的值?

9

我已经创建了一个哈希表,让用户输入键和值。如果输入特定的键,我想能够更改哈希表的值。我尝试使用setValue方法,但没有效果。值和键都是字符串。我该使用什么方法来更改它?


4
只需为相同的键put一个新值即可。 - Oliver Charlesworth
1个回答

25

只需使用Map#put方法,将当前键和新值作为参数传入:

Map<String, String> map = new HashMap<>();
map.put("user", "Luiggi Mendoza");
System.out.println(map);
//replacing the old value
map.put("user", "Oli Charlesworth");
System.out.println(map);

输出:

{user=Luiggi Mendoza}
{user=Oli Charlesworth}

它仍然没有给我正确的输出。也许是我使用的包含方法有问题。 - pgray10
这是我的代码: 如果(item.contains("music")) { double newprice = Double.parseDouble(price); newprice = newprice *1.10;String newprice2 = String.valueOf(newprice); cart.put(item, newprice2);} - pgray10
您正在使用“音乐”键的contains方法,但replace使用item变量作为键,这两个值可能不同。请提供一段代码以复制您特定的问题。 - Luiggi Mendoza
@pgray10,请为您的item变量的类提供equalshashCode实现。 - Luiggi Mendoza
这个链接可能会有帮助 https://dev59.com/Dm855IYBdhLWcg3ww3Wa#18153757 - Khalid Habib

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接