java8
lambda
lambda 表达式可作为参数传递给办法
- 应用 @FunctionalInterface 自定义函数式接口
- 将接口作为参数传递给办法
- 调用办法时传递 lambda 表达式
java 内置心函数式接口
- Consumer<T> 消费性接口 泛型是参数 无返回值 调用办法是 void accept (T t)
- Supplier<T> 供应型接口 无参数 泛型是返回值 调用办法是 T get()
- Function<T,R> 函数型接口 T 泛型为参数 R 泛型为返回值 调用办法是 R apply(T t)
- Predicate<T> 断言式接口 泛型是参数 返回 boolean 值 调用办法是 boolean test(T t)
Stream API
- 创立 Stream -> 两头操作 -> 终止操作 从一个流转化成另一个流
- 创立 Stream list.stream、Array.stream(args[])、stream.of(values …)、stream.iterate(final T seed, final UnaryOperator<T>f)
- 两头操作:distinct()、limit(long l)、skip(long l)、filter(Predicate p)、map(Function f)、flatMap(Function f)、sorted()(Comparator c)
- 终止操作:allMatch(Predicate p)、anyMatch(Predicate p)、findFirst()、finAny()、count()、max()、min()、reduce(T iden, BinaryOperator b) (BinaryOperator b)
collect(Collector c)
- parallel() 与 sequential() 并行流与程序流