0
点赞
收藏
分享

微信扫一扫

Java8 Stream的介绍和各种操作

Python芸芸 2022-03-11 阅读 72

目录

1 Stream 概述
2 Stream 特性
3 Stream 操作方式
4 Stream 创建
4.1 通过 java.util.Collection.stream() 方法用集合创建流
4.2 通过 java.util.Arrays.stream(T[] array)方法用数组创建流
4.3 通过 Stream的静态方法:of()、iterate()、generate()
5 Stream 中间操作
5.1 Stream 筛选 filter
5.2 Stream 映射 map/flatMap
5.2.1 Stream map 取集合
5.2.2 Stream map 最大值
5.2.3 Stream map 最小值
5.2.3 Stream map 计数
5.2.4 Stream map 求和
5.2.5 Stream map 平均值
5.2.6 Stream floatMap
5.3 Stream 去重 distinct
5.3.1 去重的对象重写了hashcode和equals
5.3.2 去重的对象没有重写了hashcode和equals 按字段去重
5.4 Stream 排序 sorted
5.4.1 Stream sorted 正序
5.4.2 Stream sorted 逆序
5.4.3 Stream sorted 多条件排序
5.5 Stream 收集 collect
5.6 Stream 分组(partitioningBy/groupingBy)
5.7 Stream limit/skip
6 Stream 终止操作(终端操作)
6.1 Stream 遍历 forEach
6.2 Stream 规约 reduce
6.3 Stream 匹配 find/match
6.4 Stream 聚合 max/min/count
7 Stream 常用函数式接口
7.1 Java Stream Predicate
7.2 Java Stream Consumer
7.3 Java Stream Function
7.4 Java Stream Supplier
7.5 Java Stream UnaryOperator
7.6 Java Stream BinaryOperator
8 Java 8 Builder 模式
9 自定义 Optional
10 转换

1 Stream 概述

Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。

2 Stream 特性

序号                                              概述
  1Stream 只负责对数据进行处理、加工,本身不负责存储数据,存储数据是用集合,数组等数据结构。
  2

Stream 是不可变,一旦修改,就会产生新的Stream对象。Stream不会修改数据源的数据。

  3Stream 的操作是一个延迟操作。所有的操作都必须延迟到终结操作时,一起处理(不到最后一步不处理)。

3 Stream 操作方式

举报

相关推荐

0 条评论