首页 > 解决方案 > 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);
     }

谢谢。

标签: java

解决方案


正确的模式是:

str1.put(s.charAt(i), 1 + str1.getOrDefault(s.charAt(i), 0));

您当前的代码正在按键查找映射到字符的当前值,该值最初为null.


推荐阅读