java - Java HashMap 不会插入重复项
问题描述
我正在尝试将字符数放入 hashMap 但它不会插入。
for(int i = 0; i < N; i++) {
str1.put(s.charAt(i),
str1.getOrDefault(str1.get(s.charAt(i)), 0) + 1);
str2.put(t.charAt(i),
str2.getOrDefault(str2.get(t.charAt(i)) ,0) + 1);
}
谢谢。
解决方案
正确的模式是:
str1.put(s.charAt(i), 1 + str1.getOrDefault(s.charAt(i), 0));
您当前的代码正在按键查找映射到字符的当前值,该值最初为null
.
推荐阅读
- go - Excelize 冻结行生成有错误的文件
- dictionary - 字典数学 Python
- python - discord.py - 添加反应作为命令的一部分
- node.js - Nodejs 在对安全端点的 GET 调用中抛出 EPROTO 错误
- vb.net - 漂亮的清单删除了继续符 (_) -> 编译器中的错误 BC30201 [Visual Studio 2019]
- java - 限制和分组流
- windows - 使用 FILE_OPEN_BY_FILE_ID、NtCreateFIle、ObjectID 打开文件时访问被拒绝
- python-3.x - 使用 Zappa 将烧瓶应用程序转换为 aws lambda
- c# - 使用 C# 使用 HTML 请求不提供表数据来抓取网站
- python - Python FTP 检索打破了 FOR 循环。我用 try-catch 块修复了它。为什么它有效?