关于java8:java8-lambda和Stream-API

38次阅读

共计 727 个字符,预计需要花费 2 分钟才能阅读完成。

java8

lambda

lambda 表达式可作为参数传递给办法
  1. 应用 @FunctionalInterface 自定义函数式接口
  2. 将接口作为参数传递给办法
  3. 调用办法时传递 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() 并行流与程序流
正文完
 0