Java 8 实战
2021-11-12 08:50:03 0 举报
AI智能生成
Java 8 实战
作者其他创作
大纲/内容
定义
存储和访问数据
描述对数据的计算
Stream
parallelStream()
并行
流处理
共享可变数据
传递行为代码
基石
File::isHidden
方法引用
传递代码
Lambda
方法和Lambda
函数式编程
default声明方法
默认方法
Why Java 8?
绿苹果
指定颜色
指定重量
每个属性
不断变化的需求
AppleGreenColorPredicate
AppleHeavyWeightPredicate
ApplePredicate
抽象出接口
根据接口过滤
行为参数化
匿名类
简化
Comparator
Runnable
eg.
传递行为
名称
参数列表+函数主体+返回类型
异常列表
可传递的匿名函数
() -> \"IronMan\"
隐式返回
() -> {return \"IronMan\";}
显示返回
lambda.png
Lambda表达式
布尔表达式
创建对象
消费对象
从对象选择/抽取
组合
比较
示例
总概
Callable
@FunctionalInterface
函数描述符
函数式接口
捕获异常
throws 异常的方法
使用场景
原始类型
BiPredicate
Predicate
谓词
BiConsumer
Consumer
消费
BiFunction
Function
函数
Supplier
生产
BinaryOperator
UnaryOperator
操作
JDK函数式接口
类型检查
ToIntBiFunction
同样的Lambda
Predicate p = s -> list.add(s);
Consumer c = s -> list.add(s);
void兼容
类型推断
final
自由变量
类型检查&推断
(args) -> ClassName.staticMethod(args)
ClassName::staticMethod
静态方法
ClassName::instanceMethod
任意实例方法
(args) -> expr.instanceMethod(args)
expr::instanceMethod
某个实例方法
三类
ClassName::new
构造函数引用
基础
排序实战
逆序
比较器链
比较器
非
且
或
g(f(x))
andThen
f(g(x))
compose
复合
基础知识
声明性
可复合
可并行
Stream API
元素序列
源
数据处理操作
流?
流水线
内部迭代
特性
简介
所有值
外部迭代
集合
按需计算
流
流PK集合
中间操作
终端操作
流操作
引入流
filter
distinct
limit
skip
筛选&切片
map
flatMap
映射
findAny
findFirst
查找
anyMatch
allMatch
noneMatch
匹配
查找&匹配
初始值
BinaryOperator<T>
规约
归约
数值流
构建流
使用流
收集器
归约&汇总
分组
分区
扩展
用流收集数据
并行流
分支/合并
Spliterator
并行处理
函数式数据处理
重构、测试&调试
Optional
CompletableFuture
新日期和时间
高效Java 8编码
函数式的思考
函数式编程的技巧
面向对象和函数式编程混合
结论&Java的未来
超越Java8
Java 8 实战
0 条评论
回复 删除
下一页