在MySQL或oracle中统计可使用group by函数,即可实现如分别统计男女生的成绩。
实现方式一、SQL查询
用SQL实现起来很简单,直接查询用户表t_user,按照性别sex分组即可。
select
sum(score)
from
t_user
where 1 = 1
group by sex
实现方式二、Java代码实现
在Java8中可使用 Stream流实现
定义User类
class User{
private int score;
private String sex;
public User(int score, String sex) {
this.score = score;
this.sex = sex;
}
public void setScore(int score) {
this.score = score;
}
public int getScore() {
return score;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
业务代码
ArrayList<User> list= new ArrayList<User>();
list.add(new User(99,"1"));
list.add(new User(89,"2"));
list.add(new User(90,"1"));
Map<String, List<User>> strAttr = list.stream().collect(Collectors.groupingBy(t -> t.getSex()));
System.out.println("strAttr"+ JSONFormat.quoteString(String.valueOf(strAttr)));
控制台打印结果,按照性别分为两组
IDEA 快捷键
alter + insert get set 生成