2010-12-16 72 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」字符串作爲鍵。