gpt4 book ai didi

java - 如何使用 Map.merge 将计数器作为值递增?

转载 作者:行者123 更新时间:2023-12-02 08:50:11 26 4
gpt4 key购买 nike

我正在尝试通过实现 Map.merge() 来重构一种以更有效的方式对 HashMap 中的键进行计数的方法。我怎样才能通过以下代码实现它:

 public Map<Character, Integer> countCharacterUsage(String input) {
Map<Character, Integer> characterToCountUsage = new WeakHashMap<>();
for (char symbol : input.toCharArray()) {
if (characterToCountUsage.containsKey(symbol)) {
int symbolsCount = characterToCountUsage.get(symbol);
characterToCountUsage.put(symbol, ++symbolsCount);
} else {
characterToCountUsage.put(symbol, 1);
}
}

return characterToCountUsage;
}

最佳答案

您可以使用compute

characterToCountUsage.compute(symbol, (k,v)-> v==null ? 1 : v+1);

还有merge

characterToCountUsage.merge(symbol,1, (k,v)-> v+1);

关于java - 如何使用 Map.merge 将计数器作为值递增?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60834219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com