java list统计_Java教程:Java8统计list中指定属性的最大、最小、平均值、求和

点击上方关注订阅黑码教主获取更多精彩内容

8943874376d2dba6b9dafb5ae493f7e3.pngJava8统计list中指定属性的最大、最小、平均值、求和

使用方式:list.stream().mapToDouble(Student1::getScore).sum()//和

list.stream().mapToDouble(Student1::getScore).max()//最大

list.stream().mapToDouble(Student1::getScore).min()//最小

list.stream().mapToDouble(Student1::getScore).average()//平均值

Student1类class Student1 {

Integer id;

String name;

Double score;

public Student1(Integer id, String name, Double score) {

this.id = id;

this.name = name;

this.score = score;

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Double getScore() {

return score;

}

public void setScore(Double score) {

this.score = score;

}

@Override

public String toString() {

return "Student1{" +

"id=" + id +

", name='" + name + '\\'' +

", score=" + score +

'}';

}

}

测试private static final DecimalFormat df = new DecimalFormat("0.00");

@Test

public void demo() {

Random random = new Random();

Listlist = new ArrayList<>();

for(int i=1;i<=5;i++) {

double score = Math.round(random.nextDouble() * 100);

Student1 stu = new Student1(i, "学生-" + i, score);

list.add(stu);

}

System.out.println("学生:" + list.toString());

Double sum = list.stream().mapToDouble(Student1::getScore).sum();

Double max = list.stream().mapToDouble(Student1::getScore).max().getAsDouble();

Double min = list.stream().mapToDouble(Student1::getScore).min().getAsDouble();

Double average = list.stream().mapToDouble(Student1::getScore).average().getAsDouble();

System.out.println("总和" + sum);

System.out.println("最大值" + df.format(max));

System.out.println("最小值" + df.format(min));

System.out.println("平均值" + df.format(average));

}

结果:学生:[Student1{id=1, name='学生-1', score=80.0}, Student1{id=2, name='学生-2', score=59.0}, Student1{id=3, name='学生-3', score=27.0}, Student1{id=4, name='学生-4', score=99.0}, Student1{id=5, name='学生-5', score=80.0}]

总和345.0

最大值99.00

最小值27.00

平均值69.00

如果你觉得本篇还不错,请点赞关注!

文章由黑码教主创作,仅代表个人观点,配图源于网络版权归原作者所有,如有侵权联系删除!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值