猿问

Java计数数组中每个项目的出现次数

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

这里的输出只是为了证明预期的结果。


梵蒂冈之花
浏览 874回答 3
3回答

杨__羊羊

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

鸿蒙传说

List&nbsp;asList&nbsp;=&nbsp;Arrays.asList(array);Set<String>&nbsp;mySet&nbsp;=&nbsp;new&nbsp;HashSet<String>(asList);for(String&nbsp;s:&nbsp;mySet){ &nbsp;System.out.println(s&nbsp;+&nbsp;"&nbsp;"&nbsp;+Collections.frequency(asList,s));}
随时随地看视频慕课网APP

相关分类

Java
我要回答