Lambda表达式

本文介绍了Java 8引入的Lambda表达式,通过流操作对List集合进行高效处理,包括遍历、排序、去重、过滤、提取、统计、分组和集合转换等操作。Lambda表达式简化了代码,提高了效率,但也存在如非并行计算速度不快、调试不便等问题。
摘要由CSDN通过智能技术生成

简述:

​ java 8 提供的 Lambda 表达式 ,利用流和 Lambda 表达式对List集合进行处理。在开发的过程中,最重要的就是数据处理,而在java8以前,我们对List集合的处理就停留在传统的 for , if 这样的逻辑上,在某些方面是对数据处理是很繁琐的。而 java 8 提供的特性Lambda 表达式就很好的解决了这一问题。让代码更加的简洁,效率更加的高。

缺点:

​ (1).若不用并行计算,很多时候计算速度没有比传统的 for 循环快。

​ (2).容易使用 debug 模式调试。

​ (3).在 lambda 语句中直接强制类型转换不方便。

​ (4).不可以在 foreach 中修改 foreach 外面的值。

Lambda基本操作:
遍历:
list.forEach(student1 -> System.out.println(student1.getWorke()));
基本语法 :

​ 实体类 : : 属性 : 表示这个对象中的某个属性 。

​ 例如 : Student :: getAge

​ .collect (Collectors . 转换的类型) : 表示最后的结果转换成什么类型。

​ 例如 : .collect (Collectors . toList()) 表示最后的结果转换成 list 集合。

​ .collect (Collectors . toSet()) 表示最后的结果转换成 set 集合。

​ collect(Collectors.toMap(ppi003601 -> “键”, Function.identity()));

Function.identity() : 表示当前对象,并且递增取当前对象。

stream() 操作:
排序 (sorted()):
升序

根据对象中的年龄来排序

List<Student> collect = list.stream().sorted(Comparator.comparing(Student::getAge)).collect(Collectors.toList());
降序

根据对象中的年龄来降序

List<Student> collect1 = list.stream().sorted(Comparator.comparing(Student::getAge).reversed()).collect
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值