Java计数数组中每个项目的出现次数是否有任何方法可以计算数组上每个项目的出现次数?让我们说:String[] array = {"name1","name2","name3","name4", "name5"};这里的输出将是:name1 1name2 1name3 1name4 1name5 1如果我有:String[] array = {"name1","name1","name2","name2", "name2"};输出将是:name1 2
name2 3这里的输出只是为了证明预期的结果。
3 回答

杨__羊羊
TA贡献1943条经验 获得超7个赞
您可以使用MultiSet
来自Google Collections / Guava或Bag
来自Apache Commons的。
如果您有一个集合而不是一个数组,您可以使用addAll()
将整个内容添加到上面的数据结构,然后将该count()
方法应用于每个值。A SortedMultiSet
或SortedBag
将按照定义的顺序为您提供物品。
Google Collections实际上有非常便捷的方式从数组转到SortedMultiset
。

鸿蒙传说
TA贡献1865条经验 获得超7个赞
List asList = Arrays.asList(array);Set<String> mySet = new HashSet<String>(asList);for(String s: mySet){ System.out.println(s + " " +Collections.frequency(asList,s));}
添加回答
举报
0/150
提交
取消