Java 实现字计数器

Java 实现字计数器,java,collections,hashmap,Java,Collections,Hashmap,我正在实现一个单词计数器。对于每一次工作,我都会创建一个计数器(如果不存在),如果它已经存在,我会增加它的计数器值。 我只是想使用一个HashMap,然后存储一个整数作为值,然后增加它。我只是想确保没有什么特别的类可以进一步简化这个过程 谢谢。如果您愿意使用通用的第三方库,a将负责所有这些。请注意,API揭示了一个潜在的迹象,表明它在做你自己应该做的事情 以下是您如何使用它: Iterable<String> words = ...; Bag<String> counts

我正在实现一个单词计数器。对于每一次工作,我都会创建一个计数器(如果不存在),如果它已经存在,我会增加它的计数器值。 我只是想使用一个HashMap,然后存储一个整数作为值,然后增加它。我只是想确保没有什么特别的类可以进一步简化这个过程


谢谢。

如果您愿意使用通用的第三方库,a将负责所有这些。请注意,API揭示了一个潜在的迹象,表明它在做你自己应该做的事情

以下是您如何使用它:

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);
}
Iterable words=。。。;
行李计数=新的HashBag();
for(字符串字:字){
计数。添加(单词);
}
for(字符串字:counts.uniqueSet()){
int count=counts.getCount(字);
System.out.println(word+“\t”+计数);
}

Map是一个很好的选择。我没有使用不可变的整数作为值,而是创建了自己的可变计数器类,它支持increment()和getValue()。