我正在实施一个字计数器。对于每一个作品的出现,如果不存在,我会创建一个计数器,如果它已经存在,我会增加它的计数器值。我只是打算使用 HashMap 然后将 Integer 存储为值并增加它。我只是想确保没有一些花哨的课程可以进一步简化这一点?
谢谢。
我正在实施一个字计数器。对于每一个作品的出现,如果不存在,我会创建一个计数器,如果它已经存在,我会增加它的计数器值。我只是打算使用 HashMap 然后将 Integer 存储为值并增加它。我只是想确保没有一些花哨的课程可以进一步简化这一点?
谢谢。
如果您愿意使用常见的 3rd 方库,aHashBag
会处理所有这些。请注意,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);
}