【问题标题】:how to count frequency of a word present in hashtable using java如何使用java计算哈希表中出现的单词的频率
【发布时间】:2011-05-26 19:12:27
【问题描述】:

我有一个小任务,我有一个哈希表格式。现在我想找到一个单词出现在其中的多次。

请在这方面指导我。 谢谢 编辑#1

Hashtable<String, Integer> h = new Hashtable<String, Integer>();

编辑#2

if(spam.containsKey(s)){
                                  int value = spam.get(s);
                                  value += 1;
                                  spam.put(s,value);
                              }else{
                                  spam.put(s,1);
                              }

好的,我现在将代码更改为这个。我会将那个单词的计数作为一个值。

【问题讨论】:

  • 你能告诉我们这个HashTable是如何构造的吗?我假设这些词是表中键值对的值。
  • @mad_programmer - 我想你必须澄清一下,因为如果单词是键,它们是唯一的,因为 HashTable 具有唯一的键(即每个键只在 @ 中出现一次987654325@).
  • 您是否只想从您的Hashtable h 中的String 取回Integer 值?
  • 那么你的代码有什么问题?

标签: java collections hashtable


【解决方案1】:

由于哈希表不允许键重复,因此您将始终出现 0 或 1 次特定单词。

如果你先做 h.add("hi",1) 然后 h.add("hi",2) 然后你做 n = h.get("hi") 你会得到 2。 h 将只包含一个“hi”字符串作为键。

【讨论】:

    【解决方案2】:

    一个常见的任务是使用一个哈希表,就像你展示的一个稍微不同的问题:在一段文本中找到单词频率(通常以字符串形式给出)。您是否对作业的措辞感到困惑?

    如果我的假设是正确的,那么这里有一个小提示:您必须以这样一种方式填充哈希表,即哈希将单词(哈希表中的键)映射到它们在文本中出现的频率.

    【讨论】:

      猜你喜欢
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 2015-11-11
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 2017-09-14
      相关资源
      最近更新 更多