Java8-根据List对象某个字段分组并对相关字段进行计算
1.老夫有个对象,有如下字段
@Data
public class Activity implements Serializable {
private static final long serialVersionUID = 7353320757077145027L;
private Long id;
/**
* 活动ID
*/
private Long activityId;
/**
* pv数
*/
private Long pv;
/**
* 奖品放数
*/
private Long prizeCount;
/**
* 创建时间
*/
private Data createTime;
}
需求:根据活动ID进行分组后,统计pv和prizeCount。
2.老夫接到需求后二话不说就开干。先定义一个方法,如下:
/**
* 1.根据传入的数据集与指定的分组字段进行分组
* 2.分组完成后对指定的字段进行计算
* 3.返回一个新的数据集
*
* @param dataList 需要分组的数据集合
* @param groupFunc 分组字段
* @return List<Activity>
*/
private List<Activity> groupMergeToList(List<Activity> dataList, Function<Activity, ?> groupFunc) {
return dataList.