猿问

如何计算列表中元素的出现次数

如何计算列表中元素的出现次数

我有一个ArrayList,Java的Collection类,如下所示:

ArrayList<String> animals = new ArrayList<String>();animals.add("bat");animals.add("owl");animals.add("bat");animals.add("bat");

如您所见,animals ArrayList由3人组成bat元素与一owl元素。我想知道集合框架中是否有返回bat事件或是否有另一种方法来确定发生的次数。

我发现谷歌的收藏Multiset具有返回元素总出现次数的API。但这只与JDK1.5兼容。我们的产品目前在JDK1.6中,所以我不能使用它。


烙印99
浏览 284回答 3
3回答

隔江千里

我确信集合中的静态频率方法在这里会派上用场:int&nbsp;occurrences&nbsp;=&nbsp;Collections.frequency(animals,&nbsp;"bat");反正我也是这么做的。我很确定这是JDK1.6。

繁星coding

在Java 8中:Map<String,&nbsp;Long>&nbsp;counts&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;list.stream().collect(Collectors.groupingBy(e&nbsp;->&nbsp;e,&nbsp;Collectors.counting()));
随时随地看视频慕课网APP

相关分类

Java
我要回答