Java 字符串词频统计是一个常见的编程问题,可以通过各种算法和数据结构来解决。在本文中,我们将会给出一个统计字符串中词频的完整实现,并对其中的关键步骤进行详细讲解。
算法原理
字符串词频统计通常使用哈希表来实现。具体的实现过程可以分为以下几个步骤:
- 将字符串切分成单个单词。
- 对于每个单词,使用哈希表来统计其出现次数。
- 根据哈希表中每个单词的出现次数,输出出现频率最高的前几个单词。
代码实现
下面给出一个基于哈希表实现的 Java 代码,以实现字符串词频统计功能。
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
Map<String, Integer> wordMap = new HashMap<String, Integer>();
Scanner scan = new Scanner(System.in);
System.out.println("请输入字符串:");
String input = scan.nextLine();
String[] words = input.split(" ");
for (String word : words) {
Integer count = wordMap.get(word);
if (count == null) {
wordMap.put(word, 1);
} else {
wordMap.put(word, count + 1);
}
}
System.out.println("单词出现频率如下:");
for (Map.Entry<String, Integer> entry : wordMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
这段代码通过 Scanner 来读入用户输入的字符串,然后使用 String 的 split 方法将其切分成单个单词,接着利用哈希表进行词频统计,并输出出现频率最高的前几个单词。
示例说明
下面给出两个示例,以说明字符串词频统计的具体用法。
示例一
输入:how much wood would a wood chuck chuck if a wood chuck could chuck wood
输出:
单词出现频率如下:
how: 1
wood: 2
would: 1
a: 2
chuck: 3
could: 1
much: 1
if: 1
示例二
输入:hello world hello java world
输出:
单词出现频率如下:
world: 2
java: 1
hello: 2
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 字符串词频统计实例代码 - Python技术站