我正在开发一个程序,我正在读取文件并提取关键字及其计数。稍后我需要选择频率最高的单词并将它们与关键字匹配。
我已将在文件中找到的所有关键字存储在字符串列表中。我希望根据频率对这些进行排序。因此,如果在索引 17 处我有一个单词“stack”,并且其他整数列表中索引 17 处的值最大,我希望将它们带到位置 1。
我可以使用 collections.sort 对这些进行排序,但它不会处理其他列表。
这是我的代码:
while(m.find())
{
if(keyword.contains(m.group()))
{
keywordcount.set(keyword.indexOf(m.group()),keywordcount.get(keyword.indexOf(m.group()))+1);
//System.out.println("*"+m.group()+":"+keywordcount.get(keyword.indexOf(m.group())));
}
else
{
keyword.add(m.group());
int var=keyword.indexOf(m.group());
//System.out.println(m.group()+":"+var);
keywordcount.add(var, 1);
}
//System.out.println(keyword.size()+"#"+keywordcount.size());
}
for(int i=0;i<keyword.size();i++)
{
System.out.print(keyword.get(i)+ ":" +keywordcount.get(i)+" ");
}