目录
1.概述
2.获取Stream流
a.单列集合
b.双列集合
c.数组
d.零散的数据
3.Stream流的中间方法
a.过滤
b.获取前几个元素
c.跳过前几个元素
d.元素去重
e.合并两个流
f.数据类型转换
4.Stream流的终结方法
a.遍历
b.统计
c.收集流中的数据放入数组中
d.收集的数据放入集合中
1.概述
在Java中,Stream流是一种用于处理数据的抽象概念。它可以用来操作集合、数组、输入/输出资源等,提供了一种统一的处理方式。
在Java 8中引入了Stream API,它可以让开发者更方便地处理数据集合,以函数式编程的方式进行操作。Stream流支持多种操作,可以分为两类:中间操作和终端操作。
中间操作是指在数据流中进行处理,可以用来过滤、映射、排序等操作。常用的中间操作有:filter、map、sorted等。
终端操作是指对数据流进行最终的处理,可以用来收集、计数、求和等操作。常用的终端操作有:collect、count、sum等。
2.获取Stream流
a.单列集合
b.双列集合
方法一:
1.将双列集合所有的键转换为单列集合
2.调用单列集合方法
方法二:
1. 将双列集合所有的键值对转换为单列集合
2.调用单列集合方法
c.数组
调用Arrays工具类中的静态方法
d.零散的数据
调用Stream流的静态方法
3.Stream流的中间方法
a.过滤
匿名内部类:
Lambda表达式:
b.获取前几个元素
c.跳过前几个元素
d.元素去重
底层原理:依赖hashCode和equals方法
e.合并两个流
f.数据类型转换
匿名内部类:
注意:
1.中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程
2.修改Stream流中的数据,不会影响原来集合或者数组中的数据
4.Stream流的终结方法
a.遍历
匿名内部类:
Lambda表达式:
b.统计
c.收集流中的数据放入数组中
匿名内部类:
Lambda表达式:
d.收集的数据放入集合中
存放在单列链表中:
存放在双列链表中: