用containsKey统计单词出现的次数的JAVA代码,不存在为什么给键值赋值为1而不是0
时间: 2024-05-03 10:20:14 浏览: 49
文章中单词出现次数统计代码
好的,下面是使用Java语言中containsKey方法统计单词出现次数的代码:
```
Map<String, Integer> wordCount = new HashMap<>();
String[] words = "this is an example sentence where some words are repeated".split(" ");
for (String word : words) {
if (wordCount.containsKey(word)) {
wordCount.put(word, wordCount.get(word) + 1);
} else {
wordCount.put(word, 1);
}
}
System.out.println("单词出现次数: " + wordCount);
```
在这个示例中,我们创建了一个HashMap,用于存储每个单词出现的次数。我们通过split方法将字符串分割成单词数组,并使用for循环迭代每个单词。如果单词已经在Map中存在,我们就通过get方法获取它的值并+1,然后再把它放回到Map中。如果单词尚不存在,我们就赋值为1并添加到Map中。
至于为什么给键值赋值为1而不是0,是因为单词出现的次数是至少为1的,因此在我们第一次遇到一个单词时,我们就将它的初始值赋为1。如果我们将其初始化为0,在第一次遇到单词时,我们就必须在将其累加之前将其值加1,这可能会导致错误的计数结果。
阅读全文