常用的 Lambda 表达式案例解析,工作中都会用到!

2022-05-30 12:30:09 浏览数 (1)

我们日常工作中,Lambda 使用比较多的场景,就是集合类下的 Lambda 流操作,往往几行代码可以帮助我们实现复杂代码

接下来我们把 Lambda 流的常用方法用案列讲解一下。

ForEach

集合的遍历 forEach 方法

Collect

将操作后的对象转化为新的对象

图片1.png图片1.png

Filter

Filter 为过滤的意思,只要满足 Filter 表达式的数据就可以留下来,不满足的数据被过滤掉

图片2.png图片2.png

Map

map 方法可以让我们进行一些流的转化,比如原来流中的元素是 A,通过 map 操作,可以使返回的流中的元素是 B

图片3.png图片3.png

MapToInt

mapToInt 方法的功能和 map 方法一样,只不过 mapToInt 返回的结果已经没有泛型,已经明确是 int 类型的流了,源码如下:

图片4.png图片4.png

Distinct

distinct 方法有去重的功能

图片5.png图片5.png

Sorted

Sorted 方法提供了排序的功能,并且允许我们自定义排序

图片6.png图片6.png

groupingBy

groupingBy 是能够根据字段进行分组,toMap 是把 List 的数据格式转化成 Map 的格式

图片7.png图片7.png

FindFirst

findFirst 表示匹配到第一个满足条件的值就返回

图片8.png图片8.png

Reduce

reduce 方法允许我们在循环里面叠加计算值

图片9.png图片9.png

Peek

peek 方法很简单,我们在 peek 方法里面做任意没有返回值的事情,比如打印日志

图片10.png图片10.png

Limit

limit 方法会限制输出值个数,入参是限制的个数大小

图片11.png图片11.png

Max,Min

通过 max、min 方法,可以获取集合中最大、最小的对象

图片12.png图片12.png

总结

本文我们介绍十几种 Lambda 表达式常用的方法

懂这些,这样你在工作中遇到复杂数据结构转化时,肯定会得心应手了。

源码附件已经打包好上传到百度云了,大家自行下载即可~

链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27

提取码: yu27

百度云链接不稳定,随时可能会失效,大家抓紧保存哈。

如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~

开源地址

码云地址:

http://github.crmeb.net/u/defu

Github 地址:

http://github.crmeb.net/u/defu

0 人点赞