1、函数式编程/lambda
接口 | 输入参数 | 返回类型 | 说明 |
---|---|---|---|
Predicate<T> | T | boolean | 断言 |
Consumer<T> | T | / | 消费一个数据 |
Function<R,R> | T | R | 输入T输出R的函数 |
Supplier<T> | / | T | 提供一个数据 |
UnaryOperator<T> | T | T | 一元函数(输入输出类型相同) |
BiFunction<T,U,R> | (R,U) | R | 2个输入的函数 |
BinaryOperator<T> | (T,T) | T | 二元函数(输入输出类型相同) |
2、Stream流编程 - 创建
相关方法 | |
---|---|
集合 | Collection.stream/parallelStream |
数组 | Arrays.stream |
数字Stream | InStream/LongStream. range/rangeClosed Random.ints/longs/doubles |
自己创建 | Stream.generate/iterate |
3、Stream流编程 - 中间操作
相关方法 | |
---|---|
无状态操作 | map/ mapToXxx flatMap/ flatMapToXxx filter peek unordered |
有状态操作 | distinct sorted limit / skip |
4、Stream流编程 - 终止操作
相关方法 | |
---|---|
非短路操作 | forEach / forEachOrdered collect / toArray reduce min / max / count |
短路操作 | findFirst / findAny allMatch / anyMatch / noneMatch |