type
status
date
slug
summary
tags
category
icon
password
为什么要学
- 大数据量下处理集合效率高
- 可以很简单的实现多线程的方式处理数据,降低使用多线程处理数据的门槛
- 代码可读性高,消灭嵌套数据
- 可以看到,为了去重,判断,嵌套了很多层
传统方式实现
Lambda 方式实现
可以看到,使用 lambda 表达式看起来非常简洁
优点
- 代码简洁,易于开发
- 更接近自然语言,易于理解
- 对并发编程有更好的支持,易于使用并发编程处理数据
lambda 表达式入门
lambda 简单实现
- lambda 只关注参数和具体的实现
- 下面的例子,不关注对象是否是 Runnable,只关注参数是什么和具体的业务逻辑
lambda 的一些实现
1、
2、
省略规则
- 参数类型可以省略,因为可以推导
- 参数只有一个时,入参小括号可以省略
- 代码实现只有一行时,大括号和 return 可以省略
Stream 流
- 创建流:authors.stream()
- 中间操作:比如 filter,distinct,map等操作
- 终结操作:比如最后输出,或者返回 list:.collect(Collectors.toList())。如果不做终结操作,中间操作也不会执行。
创建流
- 单列集合
- 数组
- 双列集合,先转换成单列集合再创建