java流 最全 API
2021-02-28 20:36:19 0 举报
AI智能生成
java流 最全 API
作者其他创作
大纲/内容
函数式接口
定义
从支持数据处理的源生成的元素序列
只能遍历一次
操作
中间操作: 可以连接的流操作,结果还是流
筛选和切片
filter
功能: 用谓词筛选 (谓词:返回boolean的函数)
返回类型:Stream<T>
参数: Predicate<T>
lambda函数: T-> boolean
distinct
功能:去重
返回类型: Stream<T>
limit
功能:截断,最多返回前n个元素
返回类型: Stream<T>
参数: int
skip
功能:跳过,返回扔掉前n个元素的流,不足n个,返回空流; 与limit 互补
返回类型: Stream<T>
参数: int
映射
map
功能: 映射
返回类型: Stream<R>
参数: Function<T, R>
lambda函数: T->R
flatmap
功能: 扁平映射,多个流合并成一个流
返回类型: Stream<R>
参数: Function<T, R>
lambda函数: T->R
sorted
功能: 排序
返回类型: Stream<T>
参数: Comparator<T>
lambda函数: (T,T) -> int
终端操作: 关闭流的操作,结果是任何非流的值
查找和匹配
anyMatch
功能: 是否有一个元素能匹配
返回类型: boolean
参数: Predicate<T>
lambda函数: T-> boolean
allMatch
功能: 是否匹配所有元素
返回类型: boolean
参数: Predicate<T>
lambda函数: T-> boolean
noneMatch
功能: 确保没有任何元素匹配
返回类型: boolean
参数: Predicate<T>
lambda函数: T-> boolean
findAny
功能: 返回当前流中的任意元素, 并行限制少
返回类型: Optional<R>
findFirst
功能: 查找第一个元素
返回类型: Optional<R>
规约: 把流规约成一个值(反复操作)
reduce
功能: 折叠操作,类似把一张长长的纸(流)反复折叠成一个小方块(最终值)
返回类型: Optional<R>
参数
初始值:可以没有
BinaryOperation<T> : 将2个值结合起来产生一个新值
lambda函数: T,T -> T
collect
功能: 把流规约成一个集合, 比如List Map甚至是Integer
返回类型: 集合R
参数: Collector<T, A, R>
Collectors :java.util.stream 工具类
1
2
3
groupingBy 和 partitionBy 可以混合多级使用
foreach
功能: 消费流中每个元素并对其应用Lambda
返回类型: void
参数: Consumer<T>
lambda函数: T-> void
count
功能: 返回流中元素的个数
返回类型: long
0 条评论
下一页