从Collections.frequency订购结果

时间:2013-04-25 11:08:10

标签: java filtering hashset

我有一个包含500多个单词的ArrayList。我正在尝试将它们组织到一个列表中,其中出现最多的单词位于顶部,然后排在第二位,依此类推。

到目前为止,我已设法使用下面的代码过滤出频率小于5的单词,但是我无法弄清楚如何将这些结果按降序排列到它们的频率列表中。

    Set<String> unique = new HashSet<String>(wordsL);

    for (String key : unique) {
      if (Collections.frequency(wordsL, key) > 5) {
//        println(Collections.frequency(wordsL, key));
        lwords.add(key);
        println(lwords);
      }
    }

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用Map<String, Integer>进行计数。

您可以稍后sort the map by value