有什么方法可以计算数组中每个项目的出现次数吗?
可以说我有:
String[] array = {"name1","name2","name3","name4", "name5"};
这里的输出将是:
name1 1
name2 1
name3 1
name4 1
name5 1
如果我有:
String[] array = {"name1","name1","name2","name2", "name2"};
输出将是:
name1 2
name2 3
这里的输出只是为了演示预期的结果。
原文由 Favolas 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用来自 Google Collections/Guava 的
MultiSet
Bag
或来自 Apache Commons 的 —。如果你有一个集合而不是一个数组,你可以使用
addAll()
将全部内容添加到上述数据结构中,然后对每个值应用count()
方法。SortedMultiSet
或SortedBag
会按照定义的顺序为您提供项目。Google Collections 实际上有从数组到
SortedMultiset
的非常方便的方法。