github编辑

统计专家AggregateUtil

JAVA开发统计少不了的,我们来看看 统计专家 - AggregateUtil

主要由下面几个部分组成:

AggregateUtil

1.算平均.

方法
Description

avg(Collection, String, int)

算术平均值

avg(Collection, String[], int)

算术平均值

1.1 avg(Collection, String, int)

算术平均值.

示例: 场景: 求的User list 里面 id属性 的平均值

**返回:**4.00

1.2 avg(Collection, String[], int)

算术平均值.

说明:

  • 返回的 LinkedHashMap,key是 propertyNames的元素,value是基于这个属性名称获得的值的平均值;key的顺序是依照 propertyNames元素的顺序

示例: 场景: 求的User list 里面 age 以及id属性 的平均值

返回:

2.分组求数量.

方法
Description

groupCount(Collection, String)

循环 objectCollection,统计 propertyName 的值出现的次数.

groupCount(Collection, String, Predicate)

循环 objectCollection,只选择符合 includePredicate的对象,统计 propertyName的值出现的次数.

2.1 groupCount(Collection, String)

循环 objectCollection,统计 propertyName 的值出现的次数.

说明:

  • 返回的LinkedHashMap,key是propertyName对应的值,value是该值出现的次数;

  • 顺序是 objectCollection propertyName的值的顺序

示例: 场景: 统计user list,属性名字是name 的值的数量

返回:

2.2 groupCount(Collection, String, Predicate)

循环 objectCollection,只选择符合 includePredicate的对象,统计 propertyName的值出现的次数.

说明:

  • 返回的LinkedHashMap,key是propertyName对应的值,value是该值出现的次数;

  • 顺序是 objectCollection propertyName的值的顺序

示例: 场景: 统计user list(条件是 age > 30 的user),name属性值的数量

返回:

3.求和.

方法
Description

sum(Collection, String)

总和,计算集合对象objectCollection 内指定的属性名 propertyName 值的总和.

sum(Collection, String, Predicate)

迭代objectCollection,提取 符合 includePredicate的元素的指定 propertyName 元素的值 ,累计总和.

sum(Collection, String...)

总和,计算集合对象objectCollection 内指定的属性名 propertyNames 值的总和.

sum(Collection, String[], Predicate)

迭代objectCollection,提取符合 includePredicate的元素的指定 propertyNames 元素的值 ,累计总和.

3.1 sum(Collection, String)

总和,计算集合对象objectCollection 内指定的属性名 propertyName 值的总和.

说明:

  • 如果通过反射某个元素值是null,则使用默认值0代替,再进行累加

示例:

**返回:**12

说明: 当你需要写这样的代码的时候,

你可以写成:

3.2 sum(Collection, String, Predicate)

迭代objectCollection,提取符合 includePredicate的元素的指定 propertyName 元素的值 ,累计总和.

说明:

  • 如果通过反射某个元素值是null,则使用默认值0代替,再进行累加

示例:

场景: 统计user list(条件是 id >10),id属性值的总和

返回:new BigDecimal(100L)

当然这段代码,你还可以优化成:

3.3 sum(Collection, String...)

总和,计算集合对象objectCollection 内指定的属性名 propertyNames 值的总和.

说明:

  • 如果通过反射某个元素值是null,则使用默认值0代替,再进行累加

示例: 场景: 在user list 中,分别统计 id属性以及age属性值总和

返回:

3.4 sum(Collection, String[], Predicate)

迭代objectCollection,提取符合 includePredicate的元素的指定 propertyNames 元素的值 ,累计总和.

示例:

返回:

最后更新于

这有帮助吗?