Java8获取List集合元素最大、最小、总和、平均值

public static void main(String[] args) {
        initEmp();
        int sum = empList.stream().mapToInt(Employee->Employee.getAge()).sum();
        int max = empList.stream().mapToInt(Employee->Employee.getAge()).max().getAsInt();
        int min = empList.stream().mapToInt(Employee->Employee.getAge()).min().getAsInt();
        double avg = empList.stream().mapToInt(Employee->Employee.getAge()).average().getAsDouble();
        System.out.println("最大值:"+max+"\n最小值:"+min+"\n总和:"+sum+"\n平均值:"+avg);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java 8的Stream API来实现获取List中某个元素最大值,具体实现如下: 假设要获取List<Integer>中元素最大值,代码如下: ``` List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); Integer max = list.stream().max(Integer::compareTo).get(); System.out.println("List元素最大值为:" + max); ``` 解释如下: - 通过Arrays.asList()方法创建一个List<Integer>对象。 - 使用stream()方法将List转换成Stream对象。 - 使用max()方法获取最大值,该方法接受一个Comparator对象作为参数,这里使用Integer::compareTo方法引用来实现比较。 - 使用get()方法获取最大值。 如果要获取List中对象的某个属性的最大值,可以使用Lambda表达式来实现,例如获取List<Student>中age属性的最大值,代码如下: ``` List<Student> list = Arrays.asList(new Student("Alice", 18), new Student("Bob", 20), new Student("Charlie", 22)); Integer maxAge = list.stream().map(Student::getAge).max(Integer::compareTo).get(); System.out.println("List中age属性的最大值为:" + maxAge); ``` 其中,Student是一个包含name和age属性的类,代码如下: ``` class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } ``` 解释如下: - 通过Arrays.asList()方法创建一个List<Student>对象。 - 使用stream()方法将List转换成Stream对象。 - 使用map()方法将每个Student对象映射成其age属性。 - 使用max()方法获取最大值,这里同样使用Integer::compareTo方法引用来实现比较。 - 使用get()方法获取最大值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值