stream流的思想
1.java键盘录入2.JAVA运算符详解3.流程控制语句 ——if语句4.JAVA中switch语句格式5.JAVA中的for循环和while循环详解6.JAVA随机数的使用7.JAVA中的内存分配8.JAVA方法详解9.JAVA中的数组详解10.JAVA中字符串的常用方法11.JAVA中的两个容器StringBuilder和StringJoiner概述12.JAVA中ArrayList集合详解13.JAVA中的static关键字14.JAVA——继承详解15.JAVA 多态详解16.JAVA 多态详解17.Java中的包18.Java中的final,权限修饰符与抽象类19.JAVA中的接口详解20.JAVA的内部类21.java中的常用类及常用方法22.正则表达式23.Java中的爬虫24.JAVA——时间类25.JAVA——包装类及Integer的成员方法26.算法总结27.Arrays ——操作数组的工具类28.Lambda表达式29.集合体系结构30.JAVA之树的详解31.Set系列集合32.java——双列集合
33.stream流的思想
34.JAVA入门——方法引用35.JAVA——异常36.File --JAVA作用:结合了Lambda表达式,简化集合,数组的操作
使用步骤:
-
先得到一条stream流水线,并把数据放上去
-
-
使用终结方法对流水线上的数据进行操作
获取方式 | 方法名 | 说明 |
---|---|---|
单列集合 | default Stream< E >stream() | Collection中的默认方法 |
双列集合 | 无 | 无法直接使用Stream流 |
数组 | public static< T >stream(T[]array) | Array中的静态方法 |
一堆零散数据 | public static< T >stream< T >of(T...values) | stream接口中的静态方法 |
中间方法
名称 | 说明 |
---|---|
stream< T >filter(predicate<? super T>predicate) | 过滤 |
stream< T >limit(long maxsize) | 获取前几个元素 |
stream< T >skip(long n) | 跳过前几个元素 |
stream< T >distinct() | 元素去重,依赖(hashcode和equals方法) |
stream< T >stream< T >concat(stream a,stream b) | 合并a和b两个流为一个流 |
stream< R >map(Function< T ,R >mapper) | 转换流中的数据类型 |
-
中间方法:返回新的Stream流,原来的Stream流只能用一次,建议用链式编程
-
修改Stream流中的数据,不会影响原来集合或数组中的数据
终结方法
名称 | 说明 |
---|---|
void forEach(consumer action) | 遍历 |
long count() | 统计 |
toArray() | 收集流中的数据,放到数组 |
Collect(Collector collector) | 收集流中数据,放到集合中 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?