码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 大数据之Stream流


    文章目录

    • 前言
    • 简介
    • Stream流获取
    • 中间方法
    • 终结方法
    • Stream数据收集
    • 总结


    前言

    #博学谷IT学习技术支持#
    Stream流的诞生使操作集合类数据更加便利,Stream知识点包含流的获取,中间方法,终结方法以及数据收集。


    简介

    集合类库存在一些弊端,假设有一个需求需要获取集合中符合条件的数据,没有Stream流之前,需要通过遍历的方式才能获取到对应的数据,Stream流的诞生很好的解决了集合类库的弊端,通过Stream流中的方法即可获取到符合条件的数据。

    Stream流获取

    流的获取可以从单列集合、双列集合、数组和同种类型的多个数据中获取:

    1. 单列集合
      使用Collection接口中的默认方法stream()生成流
      default Stream stream()
      在这里插入图片描述

    2. 双列集合
      间接生成流,可以先通过keySet或者entrySet获取一个Set集合,再获取Stream流
      在这里插入图片描述

    3. 数组
      Arrays中的静态方法stream生成流
      在这里插入图片描述

    4. 同种数据类型的多个数据
      使用Stream.of(T… values)生成流
      在这里插入图片描述

    中间方法

    Stream有6个中间方法:
    (1)filter:用于对六种的数据进行过滤,表示式中若为true,则保留数据,反之不保留
    (2)limit:截取指定参数个数的数据
    (3)skip:跳过指定参数个数的数据
    (4)concat:合并a和b两个流为一个流
    (5)distinct:去除流中重复的数据

    终结方法

    终结方法经常使用的有两个:
    (1)forEach:对此流的每个元素执行操作
    (2)count:返回流中元素的个数

    Stream数据收集

    Stream的数据收集操作
    (1)在stream流中,无法直接修改集合、数组等数据源中的数据,只能对Stream流进行操作
    (2)Stream无法直接修改数据源的数据,但是可以通过Collection的静态方法toList/toSet/toMap方法生成新的集合。

    1. toList和toSet
      在这里插入图片描述

    2. toMap,由于创建Map为双列集合,所以相对于List和Set来说,需要额外获取添加Map集合所需的Key和Value
      在这里插入图片描述

    总结

    Stream流的诞生很好的解决了集合类的弊端,大大提高了效率,同时也让代码变得更加简介易懂。

  • 相关阅读:
    系统架构师备考倒计时16天(每日知识点)
    手写一个react,看透react运行机制
    Ipad平替电容笔哪个品牌口碑好?apple pencil平替笔排名
    详细讲解前端如何给后端传输数据,后端如何给前端传输数据(java)
    java基础之类的构造方法[16]
    计算机学院第一周语法组及算法组作业
    菱形(曼哈顿距离) C++实现
    springboot+vue+elementui课堂在线答疑网站系统java+python
    数据结构——新建一棵完全二叉树(C语言动态实现)
    风控ML[16] | 风控建模中怎么做拒绝推断
  • 原文地址:https://blog.csdn.net/weixin_43339889/article/details/126219667
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号