• Java流(Stream)式编程


    流式编程

    Stream作为Java 8的一大亮点,它专门针对集合的各种操作提供各种非常便利,简单,高效的API,Stream API主要是通过Lambda表达式完成,极大的提高了程序的效率和可读性。

    流式编程的概念基于函数式编程的思想,旨在简化代码,提高可读性和可维护性。

    常见流创建方式

    常见流的方法

    流的操作方法一般分为:获取流 操作流 结束流

    操作流

    map                map 方法用于映射每个元素到对应的结果

    filter                filter 方法用于通过设置的条件过滤出元素。

    skip                 skip方法用于跳过指定数量的流。

    limit                 limit 方法用于获取指定数量的流。

    sorted             sorted 方法用于对流进行排序。

    结束流

    peek: peek是一个中间操作方法,它接受一个Consumer函数作为参数,对流中的每个元素执行该函数。与forEach不同的是,peek方法会返回一个新的流,该流中的元素和原始流中的元素相同。

    流的中间操作是惰性的,如果一个流操作流程中只有中间操作,没有终结操作,那么这个流什么都不会做,整个流程中会一直等到遇到终结操作操作才会真正的开始执行。

    forEach           forEach来迭代流中的每个数据

    聚合操作(reduce 和 collect)

    reduce和collect都是Stream API中用于聚合操作的方法,它们可以将流中的元素进行汇总、计算和收集。

    Collectors       Collectors 类实现了很多归约操作,例如将流转换成集合和聚合元素

    匹配操作(allMatch(所有)、anyMatch(至少一个) 和 noneMatch(没有一个))是否满足条件 (返回值 true/false)

    count min max 统计操作 元素数量 最小值 最大值

    查找操作

    findFirst                返回流中第一个元素

    findAny                 返回流中任意一个元素

    Stream 对象是一种一次性使用的对象,它只能被消费一次。一旦对 Stream 执行了终止操作(如收集结果、遍历元素),Stream 就会被关闭,后续无法再使用。

    并行流

    并行流是 Java 8 Stream API 中的一个特性。它可以将一个流的操作在多个线程上并行执行,以提高处理大量数据时的性能。

    parallel()   顺序流转换为并行流

    使用并行流要注意线程安全问题

    在某些操作中性能并不好(如: sorted)

  • 相关阅读:
    EventListener
    使用`archinstall`安装`Arch Linux`
    为什么会突然牙疼?
    黑马JVM总结(二十六)
    Java开发学习(二十五)----使用PostMan完成不同类型参数传递
    【文件搜索项目】使用jdbc操作SQLite
    【Java八股文总结】之外卖平台项目整理
    一题带你写出图论算法模板!!!
    Puma560机器人运动学正逆解
    【数据挖掘】顺丰公司数据挖掘笔试题
  • 原文地址:https://blog.csdn.net/Z15800020057/article/details/134056300