我正在尝试编写一个程序,它将接受 ASCII 文本文件中的一系列名称作为其唯一的命令行参数,这些文件包含英文文本。目标是在所有文件中找到 20 个最常用的单词,其中每个单词必须出现在至少有一次我们在java程序中使用的文件。请建议我
提前感谢
我正在尝试编写一个程序,它将接受 ASCII 文本文件中的一系列名称作为其唯一的命令行参数,这些文件包含英文文本。目标是在所有文件中找到 20 个最常用的单词,其中每个单词必须出现在至少有一次我们在java程序中使用的文件。请建议我
提前感谢
我将创建一个地图,其中键为单词,并在值字段中创建一个计数器。
Map<String, Integer> m = new HashMap<String, Integer>()
每次你找到一个词然后检查它是否是地图 (m.containsKey($word))。
如果不存在,则将其添加为 1。如果存在,则增加该键的值。
看起来像家庭作业,所以我想你可以弄清楚其余的......
我个人会从某种WordCount
课程开始。这将包含单词及其出现的次数。
我会阅读文件,将每个单词放入Map中,键入单词并与 WordCount 对象相关联。
阅读文件后,我将获取地图的值并使用能够比较 WordCount 对象的计数属性的比较器对其进行排序
这会给我一个Collection,按计数顺序排序