2010-12-16 75 views
0

我有一个小的任务,我有一个哈希表格式。现在我想找出一个单词出现的次数。如何使用java计算哈希表中存在的单词的频率

请在此引导我。 感谢 编辑#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); 
           } 

好了,现在我改变了我的代码这一点。我会把这个词的数量作为一个值。

+0

你能告诉我们代码这个HashTable是如何构造的吗?我假设这些单词是表中键值对的值。 – birryree 2010-12-16 20:51:05

+0

不,他们是钥匙.. – Maverick 2010-12-16 20:51:27

+0

@mad_programmer - 我想你将不得不澄清,因为如果单词是钥匙,它们是唯一的,因为'HashTable'具有唯一的钥匙(即每个钥匙只出现在' HashTable')。 – birryree 2010-12-16 20:54:34

回答

1

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

如果我的假设是正确的,那么这里有一个小提示:您必须填写散列表,以便散列将单词(散列表中的键)映射到它们出现在文本。

4

由于Hashtable不允许重复键,所以您将始终有0或1次出现的特定单词。

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