- 学习的思维方法:1.“大处着眼,小处着处” 2.”逆向思维,反证法“,”透过问题看本质“。
新特性的特点:
为什么要有Lambda表达式
语法格式1:无参 ,无返回值
语法格式2:Lambda 需要一个参数,但是没有返回值
- 语法格式3:数据类型可以省略,因为可由编译器推断得出,称为类型推断
语法格式4:Lambda若只需要一个参数时,参数的小括号可以省略。
语法方式5:Lambda需要两个或以上的参数,多执行语句,并且可以有返回值
语法格式6:当Lambda体只有一条执行语句时,return与大括号若有,都可以省略。
总结:
->左边:lambda形参列表的参数类型可以省略(类型推断),如果lambda形参列表只有一个参数其中一对()也可以省略
->右边:lambda体应该使用一对{}包裹:如果lambda体只有一条执行语句
(可能是return语句),可以省略这一对{}和return关键字
函数式接口
什么是函数式接口
- 如果一个接口中,只声明一个抽象方法,则此接口就称为函数式接口
- java内置四大核心函数式接口
方法引用/构造引用
- 使用:
Stram API
Stream关注的是对数据的运算,与CPU打交道
-
2:
Stream自己不会存储对象
- Stream不会改变源对象,相反,他们会返回一个特有的结果的新Stream
Stream操作时延迟执行的。这就意味着他们会等到需要结果的时候执行
3.Stream执行流程
Stream的实例化
- 一系列的中间操作(过滤,映射,、、、)
-
说明:
一个中间操作链,对数据源的数据进行过处理
一旦执行终止操作,就执行中间操作链,并产生结果,
之后,不会再被使用Stream的实例化
通过集合
Stream 的中间操作
- 筛选和切片