假设我们在Java中有一个HashMap<String, Integer>.

如何为我找到的每个字符串更新(递增)字符串键的整数值?

用户可以移出并重新进入该对,但开销将是一个问题.
另一种方法是只放上新的一双,旧的就会被替换掉.

在后一种情况下,如果哈希码与我试图插入的新密钥发生冲突,会发生什么情况?哈希表的正确行为应该是为它分配一个不同的位置,或者在当前存储桶中创建一个列表.

推荐答案

map.put(key, map.get(key) + 1);

应该没问题.它将更新现有映射的值.请注意,这使用自动装箱.在map.get(key)的帮助下,我们得到相应密钥的值,然后您可以根据您的需求进行更新.在这里,我更新为增量1.

Java相关问答推荐

Java String.join 和制表符

获取 JWT 令牌的 RestTemplate 请求给出未经授权的响应

org.hibernate.query.SemanticException: 发生查询异常

使用 JPA/Hibernate 将 UUID 保存为数据库中的字符串

是否可以使用 参数定义 Java 泛型类?

无法使用 Spring Boot 连接到 Kafka 代理

Java InputStream:复制到同时计算hash

oncreate() 上不显示通知

SBT 程序集输出 0xEFBFBD 而不是类文件中的 0xCAFEBABE

Java 中的正则表达式 - 在某些符号之间提取字符串

链接到 System.in 的 BufferedReader 在到达指定字符时不会停止读取

如果存在默认构造函数,则 Spring Boot 数据类不遵守 @NonNull 或 @NotNull

Joshua Bloch 项目 #1 静态工厂方法而不是构造函数 - 对象创建

DFS 路径在较大的条目上有 stackoverflow 错误

如何使用 Quarkus 或 Spring Boot 在 Web 应用程序中处理每个用户的时区?

填补 Java 中 ArrayList 之间空白的方法

Java正则表达式在双引号内查找所有出现的单词

使用 java.lang.foreign API 将 Java VarHandle 转换为 C 字符串

使用@ParameterizedTest时如何处理Mockito的UnnecessaryStubbingException

正则表达式匹配前面事项中的键和数组值