我遇到了以下问题 - 我收到了一个文本文件,其中包含大量允许重复的单词。我需要编写一个算法,以降序输出出现频率最多的 1000 个单词。这是一个例子
**input.txt**
aa aa bb cc bb bb bb dd dd
**output.txt** (note - frequencies can be repeated)
bb 4
aa 2
dd 2
cc 1
这是我解决这个问题的方法。首先读取所有单词并
HashMap
以单词为键将它们存储起来。这样做的最终结果是我拥有了所有带有频率的单词。现在我遍历
HashMap
并为每个键值对创建一个对象 {word, frequency} 然后我将它插入到 a 中SortedSet
(我为此编写了一个比较器)。现在我只是迭代
SortedSet
1000 次以获得结果。
我想知道解决这个问题的更好方法。
谢谢