java8 lambda表达式应用

本文通过一个实际案例展示了如何使用 Java 8 的 Stream API 和 Lambda 表达式来简化对集合数据的操作。具体场景为计算多个订单的总金额,通过简洁的代码实现了传统循环所完成的任务。

这篇文章适合又一定编程经验的人阅读。
lambda是已经出了很久的概念,而最近项目使用的是java8,所以我想顺道学学java8的特性。基础的范例文章网上一大把,可是实际应用的上的寥寥无几,毕竟我们有很多的逻辑需要处理,不仅仅是System.out。

场景:客户下了多个订单,我需要得到订单的总金额。
平时的话我们用for循环,将单价和数量乘积得到就可以了,但是在lambda里面呈现的是什么样的呢?下面我给大家一个别的文章并不会给出,但是绝对常用的例子:

    public static void main(String ...strings){
        //第一个订单,其他订单信息我就不写了
        OrderDetail od1= new OrderDetail();
        od1.setNumber(2);
        od1.setPrice(15.0F);
        //第二个订单
        OrderDetail od2= new OrderDetail();
        od2.setNumber(5);
        od2.setPrice(23.0F);
        //加入待统计的list中
        List<OrderDetail> list= Arrays.asList(od1,od2);
        //得到总额
        double total=list.stream().mapToDouble(od -> od.getNumber()*od.getPrice()).sum();
        System.out.println(total);
        
    }

啊啊啊,就是这么简单,但是别人却没这么写过,其实代码并不复杂,慢慢的你就理解了!

clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值