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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

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

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

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

提问于
用户回答回答于

在Java 8中:

Map<String, Long> counts =
    list.stream().collect(Collectors.groupingBy(e -> e, Collectors.counting()));
用户回答回答于

我很确定集合中的静态频率方法在这里会派上用场:

int occurrences = Collections.frequency(animals, "bat");

我很确定这是JDK1.6。

扫码关注云+社区