相关疑难解决方法(0)

29
推荐指数
3
解决办法
3万
查看次数

如何修复HashMap更新每个现有值而不是单个值

我一直在研究醉酒的沃克编码问题(自定义用户类等),而要解决这个小问题我会发疯。

我弄乱了代码(无济于事),因此在看不到希望的情况下,我决定征询外界的意见。

我用于添加到哈希图中的代码如下:

if (hashMap.containsKey(key) == false) {
    hashMap.put(key, 1);
}
else {
    hashMap.put(key, value + 1);
}
Run Code Online (Sandbox Code Playgroud)

从理论上讲,这应该是完全可以的。如果键未保存在地图中,则将其值添加到地图中。值为1。如果键实际上在地图中,则该值将增加1。键只是一个带有两个整数变量的自定义类的实例。它正在不断更新。

在程序的最后,如果我在哈希图中显示的值大于1,则应如下所示:

Visited Intersection [avenue=8, street=42] 3 times!
Visited Intersection [avenue=8, street=63] 2 times!
Run Code Online (Sandbox Code Playgroud)

但是,当我观察每个函数调用的哈希图时,它看起来像这样:

Hash Map: {Intersection [avenue=6, street=22]=1}

Hash Map: {Intersection [avenue=6, street=23]=1, Intersection 
[avenue=6, street=23]=1}

Hash Map: {Intersection [avenue=6, street=22]=2, Intersection 
[avenue=6, street=22]=1}

Hash Map: {Intersection [avenue=5, street=22]=2, Intersection 
[avenue=5, street=22]=1, Intersection [avenue=5, street=22]=1}

Hash Map: {Intersection [avenue=6, street=22]=3, Intersection 
[avenue=6, street=22]=1, Intersection [avenue=6, street=22]=1}

...
Run Code Online (Sandbox Code Playgroud)

哈希图中的每个条目都被覆盖,最终产品是这样的:

Visited Intersection …
Run Code Online (Sandbox Code Playgroud)

java hashmap

0
推荐指数
1
解决办法
63
查看次数

标签 统计

java ×2

hashmap ×1

object ×1

oop ×1