2013-03-30 28 views
-1

我正在實施字計數器。對於每一個工作的發生,我創建一個計數器,如果沒有一個已經存在,並且它已經存在,我增加它的計數器值。 我只是要使用一個HashMap,然後存儲一個Integer作爲值並增加它。我只是想確保那裏沒有一些奇特的課程可以進一步簡化這個過程?實現字計數器

謝謝。

+1

沒有,沒有。 – user93353

+1

地圖是此目的的不錯之選。 –

+3

而不是使用不可變的Integer作爲值,我創建了自己的可變Counter類,它支持increment()和getValue()。 –

回答

1

如果你願意使用普通的第三方庫,HashBag會照顧所有這一切。請注意,這些API揭示了一個潛在的標誌MutableInteger,它表明它正在做自己正在做的事情。

這裏是你如何使用它:

Iterable<String> words = ...; 
Bag<String> counts = new HashBag<String>(); 
for (String word : words) { 
    counts.add(word); 
} 
for (String word : counts.uniqueSet()) { 
    int count = counts.getCount(word); 
    System.out.println(word + "\t" + count); 
}