码农知识堂 - 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流的诞生很好的解决了集合类的弊端,大大提高了效率,同时也让代码变得更加简介易懂。

  • 相关阅读:
    企业知识库管理软件介绍,打造企业最强大脑!
    Spring基于Annotation装配Bean
    python简单制作whl安装包
    uni-app 5小时快速入门 2 创建uni-app工程(上)
    java spring cloud 企业电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展
    将 Fedora 38 平滑升级至 Fedora 39
    第十三章 Python操作数据库
    多线程开发中,多用消息传递,少用锁
    python自动语音识别
    力扣每日一题47:全排列 ||
  • 原文地址:https://blog.csdn.net/weixin_43339889/article/details/126219667
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号