A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大赟 初级黑马   /  2019-9-23 14:13  /  1121 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Day14 函数式接口&Stream1.1 函数式接口概述
函数式接口:有且仅有一个抽象方法的接口
Java中函数编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口
只有确保接口中有仅只有一个抽象方法,Java中的Lambda才能书里的进行推导
函数式接口确认方法:@FunctionalInterface ps:建议加上注解
1.2 函数式接口作为方法的参数
如果方法的参数是一个函数式接口,使用Lambda表达式作为参数传递
1.3 函数式接口作为方法的返回值
如果方法的返回值是一个函数式接口,使用Lambda表达式作为参数传递
1.4 常用的函数式接口
Supplier接口 Consumer接口 Predicate接口        Function接口
1.5 Supplier接口
Supplier<T>:包含一个无参的方法
T get():获得结果
该方法不需要参数,它会按照某种实现逻辑(Lambda表达式实现)返回一个数据
Supplier<T>接口也被称为生产型接口,如果我们制定了接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据供我们使用
1.6 Consumer接口
Consumer<T>:包含两个方法
void accept(T t):对给定的参数执行此操作
defaultConsumer<T>andThen(Consumer after):返回一个组合的Consumer,依次执行此操作,然后执行after操作
Consumer<T>接口也被称为消费型接口,它消费的数据的数据类型由泛型指定
1.7 Predicate接口
Predicate<T>:常用的四个方法
boolean test(T t):对给定的参数进行判断(逻辑判断有Lambda表达式实现),返回一个布尔值
default Predicate<T>negate():返回一个逻辑的否定,对应逻辑非
default Predicate<T>and(Predicate other):返回一个组合判断,对应短路与
default Predicate<T>or (Predicate other):返回一个组合判断,对应短路或
Predicate<T>接口通常用于判断参数是否满足指定的条件
1.8 Function接口
Function<T>:常用两个方法
R apply(T t):将此函数用于给定的参数
default<V>Function andThen(Function after):返回一个组合函数,首先将该函数用于输入,然后将after用于结果.
Function<T,R>接口通常用语对此参数进行处理,转换,然后返回一个新的值.
2.1 Stream流的常见生成方式
简化集合和数组的操作.
Stream流的常见生成方式
生成流
通过数据源(集合,数组等)生成流
中间操作
一个流后面可以跟随零个或多个中间操作,其目的主要是打开流
结束操作
方式:
Collection体系的集合可以使用默认方法stream()生成流
default Stream<E> stream()
Map体系的集合间接生成流
数组可以通过Stream接口的静态方法of(T...values)生成流
file:///C:\Users\10373\AppData\Local\Temp\ksohtml5884\wps1.jpgfile:///C:\Users\10373\AppData\Local\Temp\ksohtml5884\wps2.jpg
file:///C:\Users\10373\AppData\Local\Temp\ksohtml5884\wps3.jpg
file:///C:\Users\10373\AppData\Local\Temp\ksohtml5884\wps4.jpgfile:///C:\Users\10373\AppData\Local\Temp\ksohtml5884\wps5.jpg
file:///C:\Users\10373\AppData\Local\Temp\ksohtml5884\wps6.jpg

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马