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

我们日常工作中,Lambda 使用比较多的场景,就是集合类下的 Lambda 流操作,往往几行代码可以帮助我们实现复杂代码
接下来我们把 Lambda 流的常用方法用案列讲解一下。
ForEach
集合的遍历 forEach 方法

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

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

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

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

Distinct
distinct 方法有去重的功能

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

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

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

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

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

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

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

总结
本文我们介绍十几种 Lambda 表达式常用的方法
懂这些,这样你在工作中遇到复杂数据结构转化时,肯定会得心应手了。
源码附件已经打包好上传到百度云了,大家自行下载即可~
百度云链接不稳定,随时可能会失效,大家抓紧保存哈。
如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~
开源地址
码云地址:http://github.crmeb.net/u/defu
Github 地址:http://github.crmeb.net/u/defu
评论