有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java根据频率对单词数组列表进行排序并查找其频率等级

我有一个文本文件要读。我可以找到文本和文件中的单词及其频率。我将此数据存储在ArrayList<HashEntry>中,其中HashEntry由一个带单词的键和一个带频率的值组成。我使用Collections.sort按递减的频率顺序对这个ArrayList进行排序

所以我的结局是这样的:

"a" 3, "a" 3, "a" 3, "now" 2, "days" 2, "everbody" 2, "wanna" 2, "they" 2,   
"they" 2, "their" 2, "just" 2, "now" 2, "days" 2, "talk" 1

我需要能够制作一些东西来告诉我事件的等级。例如,“a”的排名为1,因为它看起来最像。每件出现两次的东西都会排在第二位。“talk”的排名是9,因为有8个单词的排名更高

我该怎么做呢?到目前为止,我的尝试遇到了一些问题,因为ArrayList中存在重复项,并且重复项不一定是连续的。我尝试通过迭代ArrayList将数据放入哈希表,其中键是单词,但我不确定如何实际计算单词的秩

for (int i = 0; i < ranked.size(); i++) { //ranked is my array list
            rankedht.put(ranked.get(i).getKey(),1); //rankedht is a hash table
        }

这样做只会得到一个包含单词和频率的哈希表,但那个样就会失去排序

谢谢


共 (0) 个答案