场景:
数据库查到一批数据,数据里面有不同类型的统计数据,会有typeKey[类型,string],还有typeValue[统计的数值,double]
要求把数据分类型统计求和,然后按列表返回,例如有一个列表的学生数据,要求按年级分组统计出一个列表,列表模型里name[年级],value[数量],其实就是MySql的分组求和,这里用Java8的函数写。
源数据模型
@Setter
@Getter
public class StatisVO{
/**
* 维度项值
*/
private String typeKey;
/**
* 维度项统计值
*/
private String typeValue;
}
结果模型
@Setter
@Getter
public class ResultVO<T> {
private String name;
private T value;
public ResultVO(String name, T value) {
this.name = name;
this.value = value;
}
}
stream写法
public static List<ResultVO<Double>> sumStatisList(List<StatisVO>statisList,Boolean sort){
List<ResultVO<Double>> result