package HashTable;
/**
* 统计一篇给定的文章中,各个单词出现的次数的算法。
* 用HashMap 来存放出现的单词的次数,Key 是要统计的单词,Value 是单词出现的次数。
* 后再按照 Key 的升序排列出来。
*/
import java.util.*;
import java.io.*;
public class CountOccurrenceOfWords {
public static void main(String[] args) throws Exception {
Map hashMap = null;
BufferedReader infile = null;
StringTokenizer st = null;
String filename = "Test.txt";
String string;
String file = null;
infile = new BufferedReader(new FileReader(filename));
while ((string = infile.readLine()) != null) {
file += string; // 都出整篇文章,存入String中。
}
hashMap = new HashMap();
// 取出文章中的单词,"," "." "!" " " 为各个单词的分界符。
st = new StringTokenizer(file, " ,.!");
while (st.hasMoreTokens()) {
String key = st.nextToken();
if (hashMap.get(key) != null) { //当key不为空的时候,value加一
int value = ((Integer) hashMap.get(key)).intValue();
value++;
hashMap.put(key, new Integer(value));
} else { //当key值为空的时候,将value设置为1
hashMap.put(key, new Integer(1));
}
}
//这个是没有排序的
Set entrySet2 = hashMap.entrySet();
Iterator iter = entrySet2.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
// 按照单词的字母次序输出。
Map treeMap = new TreeMap(hashMap);
Set entrySet = treeMap.entrySet();
Iterator iterator = entrySet.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
本文标题:Java开发教程 文章中单词出现次数的算法,责任编辑:宏鹏,来源:武汉北大青鸟鲁广校区栏目,于2013-05-09 10:50:35发布于北大青鸟鲁广校区。Java软件开发教程,如何统计一篇给定的文章中,各个单词出现的次数的算法。
预约将免费领取7天课程体验卡
只为您方便就学
专业老师24小时1对1学习指导
定制专属于你的专属学习方案
微信号:17740513250
微信号:17740513250