作为我的问题的一个例子...假设我有一个包含 Car
对象的 ArrayList
。 Car
对象由 Model
和 Colour
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/