zoukankan      html  css  js  c++  java
  • java8 Stream 笔记

    stream的定义:对一个源中的一系列元素进行聚合操作。

    一系列元素:stream对一组有特定类型的元素提供了一个接口。但是stream并不真正存储元素,元素根据需求被计算出来。

    :stream可以处理任何一种数据提供源,比如集合、数组、IO资源。

    聚合操作:stream支持类似sql一样的操作,常规的操作类似函数试语言,比如filter,map,reduce,find,match,sorted等。

    stream还有两个特性使它和collection不同:

    管道:许多stream操作会返回一个stream对象本身。这就允许所有的操作可以链接起来形成一个更大的管道。这就可以进行特定优化比如懒加载和短回路

    内部迭代:和集合的显示迭代(外部迭代)相比,stream操作不需要我们手动进行迭代。

    stream的操作包括如下三个东西:

    一个需要进行数据查询的数据源;

    一连串组成管道的中间操作;

    一个执行管道并产生结果的终结操作。

    stream提供了操作分为如下四类:

    过滤

      filter (Predicate): 使用一个谓词java.util.function.Predicate作为参数返回一个满足谓词条件的stream

      distinct: 返回一个没有重复元素的stream(根据equals的实现)

      limit(n): 返回一个不超过给定长度的stream

      skip(n):返回一个忽略前n个的stream

    查找和匹配

      一个通常的数据处理模式是判断一些元素是否满足给定的属性,可以使用anyMatch, allMatch, noneMatch操作来帮助你实现

    映射

      stream支持map方法,map使用一个函数作为一个参数,你可以使用map从stream的一个元素里提取信息。

  • 相关阅读:
    数据类面试题
    java二进制文件复制
    String源码
    集合类题目
    OBJ-C
    java文件(文件夹)操作
    java中输入方式Scanner和BufferedReader
    二次分发举例
    Eclipse常用快捷键
    c#获取新浪微博登录cookie
  • 原文地址:https://www.cnblogs.com/zhaofeng555/p/8493505.html
Copyright © 2011-2022 走看看