• Java中的Stream流


    Stream流的原理是基于:

    匿名内部类的延迟执行现象

    Stream流分为三类方法:

    生成流方法(生成流其实就是生成一个匿名内部类对象)
    中间操作方法(不断的去拼接其他的匿名内部类对象,生成更大的匿名内部类对象)
    终结方法(最大的匿名内部类对象调用方法执行)

    Stream流的常见生成方式

    1:Collection体系的集合可以使用默认方法stream()生成流

    default Stream stream()

    2:Map体系的集合间接的生成流

    3:数组可以通过Stream接口的静态方法of(T... values)生成流

    Stream流的中间操作方法:

    Stream filter(Predicate predicate):用于对流中的数据进行过滤

    Predicate接口中的方法boolean test(T t):对给定的参数进行判断,返回一个布尔值

    Stream limit(long maxSize):返回此流中的元素组成的流,截取前指定参数个数的数据

    Stream skip(long n):跳过指定参数个数的数据,返回由该流的剩余元素组成的流

    static Stream concat(Stream a, Stream b):合并a和b两个流为一个流

    Stream distinct():返回由该流的不同元素(根据Object.equals(Object) )组成的流

    Stream sorted():返回由此流的元素组成的流,根据自然顺序排序

    Stream sorted(Comparator comparator):返回由该流的元素组成的流,根据提供的Comparator进行排序

    Stream map(Function mapper):返回由给定函数应用于此流的元素的结果组成的流

    Function接口中的方法R apply(T t)

    IntStream mapToInt(ToIntFunction mapper):返回一个IntStream其中包含将给定函数应用于此流的元素的结果

    IntStream:表示原始int流
    ToIntFunction接口中的方法int applyAsInt(T value)

    Stream流的常见终结操作方法

    void forEach(Consumer action):对此流的每个元素执行操作

    Consumer接口中的方法void accept(T t):对给定的参数执行此操作

    long count():返回此流中的元素数

    Stream流的收集方法

    R collect(Collector collector):它是通过工具类Collectors提供了具体的收集方式

    public static Collector toList():把元素收集到List集合中

    public static Collector toSet():把元素收集到Set集合中

    public static Collector toMap(Function keyMapper,Function valueMapper):把元素收集到Map集合中

    操作实例




  • 相关阅读:
    xposed的基本使用
    scrapy发送邮件
    Image Pipeline
    javax.validation.ConstraintViolationException---Hibernate后台实体校验
    oracle中lead和lag函数 (转载)
    oracle中根据当前记录查询前一条和后一条记录
    物化视图知识了解(转载)
    10个线程同步处理1000行消息
    SQL语句执行效率及分析(note)
    js对文本框特殊字符串过滤
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11951527.html
Copyright © 2020-2023  润新知