zoukankan      html  css  js  c++  java
  • 图解java8 stream 的几个转换方法


    图片摘自:http://ifeve.com/stream/


    1.distinct

    对于stream中包含的元素进行去重复操作(去重复依赖元素的equals方法)

    2.filter

    对于stream中包含的元素使用给定的过滤函数进行过滤操作

    3.map

    对于stream中包含的元素使用给定的转换函数进行转换操作。这个方法有三个变种方法:mapToInt、mapToLong、mapToDouble

    4.flatmap

    和map类似,不同的是其每个元素转换得到的是stream对象,会把子stream中的元素压缩到父集合中

    5.peek

    生成一个包含源stream所有元素的新stream,同时会提供一个消费函数(consumer实例),新stream每个元素被消费的时候都会执行给定的消费函数

    6.limit

    对一个stream进行截断操作,截取其前N个元素。如果源stream中包含的元素个数小于N,则截取所有元素

    7.skip

    返回一个丢弃源stream前N个元素后剩下的元素组成的stream。如果源stream中包含的元素小于N,则返回一个空的stream


     关于peek,我刚开始一直疑惑它跟map的作用是一样的

    那么它除了输出一下还能执行其他什么consumer呢?不解


    欲为大树,何与草争;心若不动,风又奈何。
  • 相关阅读:
    QML用Qt.labs.settings实现保存用户设置
    周练1
    Django的Hello World
    python 笔记
    Qt Creator 搭配Git 版本控制
    Windows系统下在Git Bash中把文件内容复制到剪贴板的命令
    【转】Qt之JSON保存与读取
    Qt Creator 中文编译失败 怎么办
    Treap树 笔记
    【POJ1037】A decorative fence(DP)
  • 原文地址:https://www.cnblogs.com/admln/p/get-java8-stream-transformMethod-by-image.html
Copyright © 2011-2022 走看看