美文网首页
jdk8的Stream学习之创建流

jdk8的Stream学习之创建流

作者: 他们叫我小白 | 来源:发表于2019-01-17 00:05 被阅读0次

JDK8的流式编程来来回回走马观花也看了几遍了。工作中一般的集合类操作能用流式操作的也都用流式操作。今天正儿八经的记录的方式开始写流式操作学习历程

今天首先学习下怎么创建一个流。

1:Collection接口有默认的stream方法,这个也就是大家平时用的list.stream(),只要是这个接口的实现类都可以通过这种方式去创建一个流

···

Lists.newArrayList().stream();

···

2:Stream的静态方法

        2.1:通过build方法创建。这个创建成一个builder对象,然后通过accept和add去填充对象。然后通过build方法去构建流

        ```

Stream.Builder builder = Stream.builder();

builder.accept(1);

builder.add(2);

Stream build = builder.build();

        ```

        2.2,通过stream.of去创建一个流,of有2个重载的方法,一个是接受一个对象,一个是接受可变参数创建流

        ···

Stream s1 = Stream.of(1);

Stream s2 = Stream.of(1,2,3,4,5);

···

        2.3通过Stream.generate 静态方法去创建一个流。这个特别需要注意,这个方法是创建无限流,如果不在调用这个函数后调用limit方法去限制流的长度,则会无限创建下去

···

Stream generate = Stream.generate(Math::random).limit(10);

Stream g2 = Stream.generate(() -> Math.random()).limit(10);

···

        这里传入的行为参数一定是有返回值的,也就是行为的结果是创建了一个对象。

        2.4通过Stream.iterate 迭代的去创建流,同上也是无限流,不同的地方在于这个函数有2个参数,第一个参数是基值,第二个参数是基于第一个参数的运算函数。如下生成自然数序列

···Stream limit = Stream.iterate(0, n -> n +1).limit(10);···

        这里iterate,会迭代的进行第二个参数的运算,

        2.5 Stream.empty()创建一个空的流

        2.6Stream.concat(arg1,arg2) 将2个流合并为一个流

创建了流对象以后,就可以进行流对象的其他操作了。下一章我们学习流式操作

相关文章

  • jdk8的Stream学习之创建流

    JDK8的流式编程来来回回走马观花也看了几遍了。工作中一般的集合类操作能用流式操作的也都用流式操作。今天正儿八经的...

  • Stream流的使用

    Stream流的使用 本篇主要讲解JDK8中 Stream流的使用, 包括如何 筛选 、切片、映射 、查找、匹配 ...

  • jdk8 Stream流

    jdk8 Stream流 1.Stream API 简介 Stream API是Java 8中加入的一套新的API...

  • Stream流

    一、创建流 Arrays.stream Stream.of Collection.stream Stream.it...

  • 玩转 Java8 Stream,让你代码更高效紧凑简洁

    文章目录 前言 一、Stream 特性 二、Stream 创建 2.1 用集合创建流 2.2 用数组创建流 2.3...

  • Stream操作

    1、创建Stream流 2、stream和parallelStream的简单区别 stream是顺序流,由主线程按...

  • Stream API

    1. Stream API 简介 Stream API是 JDK8 的新特性,这种风格将要处理的元素集合看作一种流...

  • JDK8 Stream性能测试,看看到底有多快

    JDK8 Stream 数据流效率分析 Stream 是Java SE 8类库中新增的关键抽象,它被定义于 jav...

  • Java Stream

    Stream 将其他类型转换成stream流 创建无穷Stream Collector 和 Collectors ...

  • Stream流(创建)

网友评论

      本文标题:jdk8的Stream学习之创建流

      本文链接:https://www.haomeiwen.com/subject/nnzvdqtx.html