引入流

作者: 小鱼嘻嘻 | 来源:发表于2018-05-14 08:02 被阅读2次
流是什么

流是Java api的新成员,它允许你以申明式的方式处理数据集合。
申明性:更简洁,更易读
可复合:更灵活
可并行:性能更好
流的简介:从支持数据处理操作的源生成的元素序列

  • 元素序列
    就像集合一样,流也提供一个接口,可以访问特定元素类型的一组值。

  • 流会使用一个提供数据的源,例如集合,数组或者输入输出资源。
  • 数据处理操作
    流的数据处理功能支持类似于数据库的操作。filter,map,reduce,find,sort,match。
  • 流水线
    很多流操作本身会返回一个流,这样的多个操作就可以链接在一起,形成流水线。
  • 内部迭代
    与使用迭代器显示迭代不同的集合不同,流的更多操作都是在背后迭代。
流与集合

集合与流之间的差异就在于什么时候进行计算,集合是一个内存中的数据结构,它包含数据结构中目前所有的值,集合中的每个元素的值都需要先算出来才可以添加到集合里。
流则是概念上的数据结构(不能添加或者删除元素),其元素是按需计算的。这是一种生产者和消费者的关系,只有消费者要求的时候才会计算。

内部迭代和外部迭代

使用foreach这种方式被称为外部迭代,streams库使用内部迭代。

 List<Integer> list = Arrays.asList(1,2,3,45);
        // 外部迭代
        for (Integer i : list) {
            System.out.println(i);
        }
        //内部迭代
        list.stream().forEach(i-> System.out.println(i));
内部迭代和外部迭代.png

相关文章

  • 入流

    太阳从地平线上升起 叫醒了这沉睡的大地 我走下山 混入那人流不息

  • 入流

    这两天我在阅读小说《淘金》三部曲。 这部小说是毕业于苏大的余一鸣所写。 小说分为三个部分:入流,不二,放下。我正在...

  • 醉花阴·凝夜

    她许月色妆了梅花面,落笔处,水墨丹青; 一瓣落花轻惦记,坠入流年风雨。 寒蝉引,初雪端倪,卸下浮云意; 横塘转身,...

  • “解读《文化自信和民族复兴》”(61)“五个数字背后的启迪 

    人生有五种入流之心(人),也有五种不入流之心(人),那么,如何与“五入流”及“五不入流”相处呢? 其实...

  • 标准的IO流

    o标准输入流 oPublist static final InputStream in:字节输入流 ·使用: §I...

  • 如何避免自大的高估自己

    现在,我在一个不入流的学校里不入流的学着课业,过着不入流的生活写着不入流的文字,并且觉得自己的未来一片大好,会变得...

  • 引入流

    流是什么 流是Java api的新成员,它允许你以申明式的方式处理数据集合。申明性:更简洁,更易读可复合:更灵活可...

  • 引入流

    流是什么 它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。可以把它们看成遍历数据集...

  • 推回输入流

    Java中有2个特殊的输入流,PushbackInputStream(字节推回输入流)、PushbackR...

  • No.20 线程中的IO流

    简介: PipedInputStream/PipedReader :管道输入流,主要在线程中使用 . 管道输入流是...

网友评论

    本文标题:引入流

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