假设我们在Java中有一个HashMap<String, Integer>
.
如何为我找到的每个字符串更新(递增)字符串键的整数值?
用户可以移出并重新进入该对,但开销将是一个问题.
另一种方法是只放上新的一双,旧的就会被替换掉.
在后一种情况下,如果哈希码与我试图插入的新密钥发生冲突,会发生什么情况?哈希表的正确行为应该是为它分配一个不同的位置,或者在当前存储桶中创建一个列表.
假设我们在Java中有一个HashMap<String, Integer>
.
如何为我找到的每个字符串更新(递增)字符串键的整数值?
用户可以移出并重新进入该对,但开销将是一个问题.
另一种方法是只放上新的一双,旧的就会被替换掉.
在后一种情况下,如果哈希码与我试图插入的新密钥发生冲突,会发生什么情况?哈希表的正确行为应该是为它分配一个不同的位置,或者在当前存储桶中创建一个列表.
map.put(key, map.get(key) + 1);
应该没问题.它将更新现有映射的值.请注意,这使用自动装箱.在map.get(key)
的帮助下,我们得到相应密钥的值,然后您可以根据您的需求进行更新.在这里,我更新为增量1.