java - 如何计算对象 ArrayList 中枚举的频率

标签 java collections enums

作为我的问题的一个例子...假设我有一个包含 Car 对象的 ArrayListCar 对象由 ModelColour Enum 组成。我想统计列表中有多少种 Audi 类型的车型,Audi 是一个 ENUM

我有一个名为 int Audi 的 int 变量

我正在尝试 Audi=Collections.frequency(list, Model.AUDI);

但是它不计算频率和 Audi=0

我哪里出错了,我如何计算枚举的频率?

最佳答案

您对 Collections.frequency 的使用不正确;您正在为 Model 枚举查找 Car 列表,因此计数为 0 不足为奇。

如果您使用的是 Java 8,您可以设置一个Stream,这样您就可以过滤内容,然后计算剩余的内容元素。这假设 Car 有一个 getModel getter 方法。

long audi = list.stream().filter( c -> c.getModel() == Model.AUDI ).count();

关于java - 如何计算对象 ArrayList 中枚举的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34143392/

相关文章:

java - 如果日志级别设置太低,则 hudson 构建失败

java - 枚举静态方法抛出空指针异常

python - 如何在 PyQt 中使用 Q_ENUMS

java - 使用内部值的总和更新 Java 中列表中的每个对象

java - 获取 JComboBox 的选定对象位置

java - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure

java - 如何从列表<String>中删除重复元素?

java - 的意思 ?在 Map<String, ?>

java - 在 Java 中使用 volatile 集合和数组

design-patterns - 您在 C++ 中使用哪种类型安全枚举?