【问题标题】:Count amount of unique words from a text file计算文本文件中唯一单词的数量
【发布时间】:2015-10-20 09:17:51
【问题描述】:

我有一个 40 000 ish 文本文件。 文本文件中的所有单词都保存在一个 ArrayList 中。

我想找出该文件中有多少个唯一单词并将该值返回给主类。 因此,如果有一个唯一的单词,计数器就会加一。

我希望输出是

   Amount of unique words: 7000

我试过了

       public int antallOrd() {
          Set<Ord> unik = new HashSet<Ord>(ordListe) ;
            for (Ord unikt : unik) {
            System.out.println(nokkel + ": " + Collections.frequency(ordListe, nokkel));
       }

但不太明白如何实现这一点

提前致谢

【问题讨论】:

  • 你不需要,Set保证唯一性。

标签: java arraylist


【解决方案1】:

您不必遍历unik - 它是一个集合,将所有单词放入该集合中会删除重复项。 unik 的大小是您问题的答案。

【讨论】:

  • 你的意思是这样的:` Set unik = new HashSet(ordListe) ; return unik.size() ;` 因为当我没有得到唯一单词的数量时,与原始数组列表中的单词数量相同
  • 我错过了你没有制作一组单词的事实;我不知道 Ord 对象与单词有什么关系,只能假设一个 ordListe 是一个 Ords 列表。如果您制作一组单词,那将是您的唯一计数。 (这就是为什么这个网站上的很多人都坚持要一个可运行的例子,所以我们不必用假设来填补空白。)
【解决方案2】:

将单词放入 java.util.Bag 并打印包的 size()。

如果你想统计每个单词的数量,你也可以使用 Hashtable 键在单词上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多