我的课程作业(二进制搜索树和哈希表)我想创建一个java程序,它扫描文本文件并根据最常用的单词排序单词。像最流行的标签。
实施例: 1.扫描文件。 2.列出出现不止一次的单词
WORD TOTAL
香蕉10
孙7
海3
问题1.如何扫描文本文件?
问题2.如何检查文本文件中的重复项并编号?
问题3.如何按照我的例子打印出超过1次出现的单词?
我的编程不强。
答案 0 :(得分:1)
由于它是课程作业,我不会向您提供完整的详细信息,但我会尽力指出您可能的方向:
一些非常高级的实现(有许多开放式结束:))
List<String> words = readWordsFromFile();
Map<String, Integer> wordCounts = new HashMap<>();
for(String word : words) {
String processedWord = preprocess(word);
int count = 1;
if (wordCounts.containsKey(processedWord)) {
count = wordCounts.get(processedWord)+1;
}
wordCounts.put(processedWord, count);
}
removeSingleOccurences(wordCounts);
List<String> sortedWords = sortWords(wordCounts);
答案 1 :(得分:0)
您可以使用Guava Lib的Multiset:http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained#Multiset