list 的最大、最小、求和、平均

 public static void main(String[] args) {
        List<Integer> aa = new ArrayList<>();
        aa.add(1);
        aa.add(2);
        aa.add(3);
        int sum = aa.stream().mapToInt(Integer::intValue).sum();//和
        int max = aa.stream().mapToInt(Integer::intValue).max().getAsInt();//最大
        int min = aa.stream().mapToInt(Integer::intValue).min().getAsInt();//最小
        double avg = aa.stream().mapToDouble(Integer::intValue).average().getAsDouble();//平均
        System.out.println("总和:"+sum);
        System.out.println("最大:"+max);
        System.out.println("最小:"+min);
        System.out.println("平均:"+avg);
    }

//同理  double
 public static void main(String[] args) {
        List<Double> aa = new ArrayList<>();
        aa.add(1.3);
        aa.add(2.3);
        double sum = aa.stream().mapToDouble(Double::doubleValue).sum();//和
        double max = aa.stream().mapToDouble(Double::doubleValue).max().getAsDouble();//最大
        double min = aa.stream().mapToDouble(Double::doubleValue).min().getAsDouble();//最小
        double avg = aa.stream().mapToDouble(Double::doubleValue).average().getAsDouble();//平均
        System.out.println("总和:"+sum);
        System.out.println("最大:"+max);
        System.out.println("最小:"+min);
        System.out.println("平均:"+avg);
    }
//取出一组对象的某个属性组成一个新集合   将User的age属性组成新集合
List<Integer> ages=userList.stream().map(User::getAge).collect(Collectors.toList());


userList.stream().mapToDouble(User::getAge).sum()//和
userList.stream().mapToDouble(User::getAge).max().getAsDouble()//最大
userList.stream().mapToDouble(User::getAge).min().getAsDouble()//最小
userList.stream().mapToDouble(User::getAge).average().getAsDouble()//平均值

//或者
int sum =  userList.stream().map(e -> e.getAge()).reduce(Integer::sum).get();
int max =  userList.stream().map(e -> e.getAge()).reduce(Integer::max).get();
int min =  userList.stream().map(e -> e.getAge()).reduce(Integer::min).get();

list的其他应用:https://pingzhengguo.blog.csdn.net/article/details/86569380 (类型转换,排序,分组)
                        https://pingzhengguo.blog.csdn.net/article/details/86571528 (去重和提取重复元素)
                        https://pingzhengguo.blog.csdn.net/article/details/88990352(list集合的分页问题)
                        https://pingzhengguo.blog.csdn.net/article/details/90484690(list和树状间的转换)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值