Java8 新特性(自用)

Java8 新特性(自用)_第1张图片
Lambda 表达式:
Java8 新特性(自用)_第2张图片
Java8 新特性(自用)_第3张图片
函数式接口可以用:@FunctionalInterface 修饰
Java8 内置的四大核心函数式接口:

  1. Consumer:消费性接口 void accept(T t);
  2. Supplier:供给型接口 T get();
  3. Function:函数型接口 R apply(T t);
  4. Predicate:断言型接口 Boolean test(T t);
    Java8 新特性(自用)_第4张图片
    创建Stream的四种方式;
    Java8 新特性(自用)_第5张图片
    Stream的中间操作:
    筛选与切片:
    filter——接受Lambda,从流中排除某些元素。
    limit——截断流,使其元素不超过给定数量。
    skip(n)——跳过元素,返回一个扔掉了前n个元素的流,若流中元素不足n个,则返回一个空流。与limit(n)互补。
    distinct——筛选,通过流所生成元素的hashCode()和equals()去除重复元素。
    映射:
    map——接受Lambda,将元素转换成其他形式或提取信息。接受一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素。
    flatMap——接受一个函数作为参数,将流中的每个值都换成另一个流,然后把所有流连接成一个流。
    排序:
    sorted()——自然排序(Comparable)
    sorted(Comparator com)—定制排序(Comparator)
    Stream的终止操作:
    allMatch——检查是否匹配所有元素
    anyMatch——检查是否至少匹配一个元素
    noneMatch——检查是否没有匹配所有元素
    findFirst——返回第一个元素
    findAny——返回当前流中的任意元素
    count——返回流中元素的总个数
    max——返回流中最大值
    min——返回流中最小值
    实际用法:
    Java8 新特性(自用)_第6张图片

你可能感兴趣的:(Java8,新特性)