当前位置: 首页 > news >正文

Java Stream流

Java Stream流说白了就是一组能进行聚合操作的数据。

下边是它的具体定义:

从数据源(可以是文件,数组,不过常见的还是各种集合,例如list,Hashset)转换而来的能够支持聚合操作 (例如filter,map) 的元素序列 (该元素序列是Stream类型的,例如Stream(String));Stream流在使用上类似sql,即强调想做什么,而不是怎么做

Java Stream流可以通过Collection接口的stream方法创建,例如Stream<String> st = new ArrayList<String>().stream();也可以通过Stream.of()方法创建,例如Stream<Integer> st = Stream.of(1,2,3);

Stream流常用的聚合操作(要注意一点,流经过聚合后返回的还是流):

filter:按照某种方式过滤数据,例如:Stream<Integer> st = Stream.of(1,2,3); st.filter(t -> t>1);这时会返回一个Stream<Integer>流,这个流包含了2,3两个元素,filter的入参是一个lambda表达式,表示拿到大于2的元素,filter的入参实际上是一个Predicate接口,该lambda表达式对这个Predicate接口未实现方法进行了填充

distinct:去重,如果是对引用类型去重的话,该引用类型应该重写hashcode和equals方法

sorted排序:基本数据类型直接排,引用类型需要实现comparable接口

map:转换:就是对流里每个元素进行函数(例如,自己的写的lambda表达式,或对现有类的方法引用)计算

flatMap:对流里每个元素进行函数计算,并将结果合并

toArray:将结果转化为数组

collect:将结果转化为相应的集合,例如collect(Collectors.toList());将结果转换为list

http://www.hskmm.com/?act=detail&tid=39317

相关文章:

  • Java 类加载器
  • 面试总被追问k8s调度器工作原理, 收藏 == 学废
  • Java 虚拟机
  • Java 反射
  • Java 语法糖
  • Java 代理
  • 纸笔群群友命题乱做
  • 本人对KMP如何匹配到所有结果的算法存在一些疑惑...
  • 字符与Java国际化编程
  • 进程与线程
  • 解决 Windows 下 Claude 通过 cmd/powershell 运行出错失去响应的问题
  • # Ubuntu 根目录空间扩展操作手册(基于 RAID 关联磁盘 /dev/sdb2)
  • 25.10.25随笔NOIP模拟赛总结
  • 013的加密世界权威指南_第二部分
  • Perplexity Comet AI浏览器「等待网络链接」解决方案
  • Redis 持久化 内存模型 - 指南
  • 新地球
  • 2025 年 10 月商用厨房设备,酒店厨房设备,大型厨房设备厂家最新推荐,聚焦高端定制需求与全案交付能力
  • zr模拟赛day8T2
  • 251026
  • 2025 年 10 月食堂厨房设备厂家最新推荐,聚焦资质、案例、售后的食堂场景深度解读
  • embedding
  • 2025 年 10 月不锈钢厨房设备厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年 10 月餐饮厨房设备厂家最新推荐,实力品牌深度解析采购无忧之选!
  • DINO版本进化
  • 基于深度学习神经网络协同过滤模型(NCF)的视频推荐体系
  • sometime some time sometimes
  • 关于容斥原理
  • 可变字符串
  • 欧拉定理