Stream API

原文链接
左闭右开

IntStream.range(min, max) 

流中间操作

筛选和切片

方法 描述
filter(Predicate p) filter(item -> item的逻辑判断 ) ,filter会保留判断条件为true的记录
distinct() 筛选,通过流所生成元素的hashCode()和equals()去除重复元素
limit(long maxSize) 截断流,使其元素不超过给定数量
skip(long n) 跳过元素,返回扔掉前n个元素的流,若流中元素不超过n个,则返回一个空流,与limit(n)互补

映射

方法 描述
map(Function f) 接收一个函数作为参数,该函数会被应用到每个元素上,并映射成一个新的元素

mapToDouble(ToDoubleFunction f)
mapToInt(ToIntFunction f)
mapToLong(ToLongFunction f)
接收一个函数作为参数,该函数会被应用到每个元素上,生成一个新的DoubleStream/IntStream/LongStream
flatMap(Function f) 接收一个函数作为参数,将流中的每个值都换成另一个流,然后把所有的流连接成一个流

排序

方法 描述
sorted() 生成一个新流,按自然顺序排序
sorted(Comparator comp) 生成一个新流,按比较器顺序排序

查找与匹配

方法 描述
allMatch(Predicate p 检查是否匹配所有元素
anyMatch(Predicate p) 检查是否至少匹配一个元素
noneMatch(Predicate p 检查是否没有匹配所有元素
findFirst() 返回第一个元素
findAny() 返回当前流中任意元素
方法 描述
count() 返回流中总数
max(Comparator comp) 返回流中最大值
min(Comparator comp) 返回流中最小值
forEach(Consumer c) 内部迭代(使用Collection接口需要用户去做迭代,称为外部迭代,相反,Stream API 使用内部迭代---它帮你把迭代做了)
方法 描述
reduce(T iden, BinaryOperator b) 可以将流中元素反复结合起来,得到一个值,返回T
reduce(BinaryOperator b) 可以将流中元素反复结合起来,得到一个值,返回Optional
collect(Collector c) 将流转换为其他形式,接收一个Collector接口的实现,用于给Stream中元素作汇总的方法
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务