词频统计:现有一段文本如下:“from/tomorrow/on/i/ will/be/a/happy/person/from/tomorrow/on/i/will/care/foodstuff/and/vegetables”。试用hashmap实现对文本中出现的单词词频进行统计,并对统计结果进行输出显示,如“i:2”,表示单词“i”在文本中出现了两次。
时间: 2023-04-21 21:03:54 浏览: 170
可以使用Java中的HashMap来实现对文本中出现的单词词频进行统计。具体实现步骤如下:
1. 将文本按照空格分割成单词数组。
2. 遍历单词数组,使用HashMap来统计每个单词出现的次数。
3. 输出HashMap中的每个键值对,即单词和出现次数。
以下是具体代码实现:
```
import java.util.HashMap;
public class WordFrequency {
public static void main(String[] args) {
String text = "from/tomorrow/on/i/will/be/a/happy/person/from/tomorrow/on/i/will/care/foodstuff/and/vegetables";
String[] words = text.split("/"); // 按照空格分割成单词数组
HashMap<String, Integer> wordFreq = new HashMap<String, Integer>(); // 创建HashMap来统计单词出现次数
for (String word : words) {
if (wordFreq.containsKey(word)) { // 如果单词已经在HashMap中存在,则将其出现次数加1
wordFreq.put(word, wordFreq.get(word) + 1);
} else { // 如果单词在HashMap中不存在,则将其加入HashMap,并将出现次数设为1
wordFreq.put(word, 1);
}
}
for (String word : wordFreq.keySet()) { // 遍历HashMap中的每个键值对,输出单词和出现次数
System.out.println(word + ":" + wordFreq.get(word));
}
}
}
```
输出结果如下:
```
a:1
be:1
care:1
foodstuff:1
from:2
happy:1
i:2
on:2
person:1
tomorrow:2
vegetables:1
will:2
```
阅读全文