• Java 8 Stream API说明


    Java 8增加了很多强大的功能,流(stream)就是其中之一。现在对api的使用做个说明:

    map

    对流中的元素做转换,目前jdk提供了mapToInt,mapToLong,mapToDouble转换为对应的流。

     Stream.of("a","b").map(String::toUpperCase).forEach(System.out::println);
    
    >>>>>
    A
    B
    Stream.of("1","2").mapToDouble(Double::valueOf).forEach(System.out::println);
    >>>>>>

    1.0
    2.0

    forEach、 forEachOrdered:迭代流的元素并执行action。 两者的区别在:后者在并行的情况下能保证action执行的顺序。

    parallel:并行计算,底层采用的folk/join

     Stream.of(1,3,2).parallel().forEachOrdered(System.out::println);
    >>>>
    1
    3
    2
    
     Stream.of(1,3,2).parallel().forEach(System.out::println);
    >>>>
    3
    1
    2

    distinct:去重

    sorted:排序

    Stream.of(1,3,3,2).distinct().sorted().forEach(System.out::println);
    >>>
    1
    2
    3

    peek:对流执行一个action

    Stream.of(1,3,3,2).filter(i -> i > 2).peek(System.out::println).collect(Collectors.toList());
    >>>
    3
    3

    limit:限制流元素的个数

    skip:跳过几个元素

     Stream.of(1,3,3,2).skip(2).peek(System.out::println).collect(Collectors.toList());
    >>>
    3
    2
    Stream.of(1,3,3,2).limit(2).peek(System.out::println).collect(Collectors.toList());
    >>>
    1
    3

    sequential: 串行流,没看出区别

    Stream.of(1,3,3,2).sequential().forEach(System.out::println);
    toArray():将流转换成数组
  • 相关阅读:
    wpf 计算公式
    c#读取文件
    wpf布局控件总结
    一个接口多次使用的值得引起思考的小片段
    wpf之渐变色LinearGradientBrush
    路由
    HtmlHelper2
    HtmlHelper1
    ssh连接Ubuntu之access denied
    百万级数据库优化方案
  • 原文地址:https://www.cnblogs.com/lzmrex/p/9931237.html
Copyright © 2020-2023  润新知