美文网首页
Java8流式操作笔记

Java8流式操作笔记

作者: 塔塔斯坦 | 来源:发表于2019-06-25 20:26 被阅读0次

java8的新特性,非新数据结构,

源可以是集合或数组,可以对源过滤、排序、映射等(每一步返回的都是流对象),最后对流中数据整合


获取流

listobj.stream()

Stream.of(....)

listobj.stream.parallel或listobj.parallelStream() 获得并行流,提高速度

java.util.stream.LongStream.rangeClosed(0L,10L)

Arrays.stream


中间操作

s.filter过滤

s.distinct去重,根据hashCode和equals规则对比

s.sorted()和sorted(Comparator)

s.limit 截断取前n个

s.skip 跳过n个

s.map 元素映射, 这些基本类似于python的列表解析

s.flatMap(function)  function接收原始流中元素,返回一个流, 最终flatMap的结果是把每个元素整出来的流汇总成一个流,比如原来是[array(h,e,l,l,o),array(w,o,r,l,d)],处理后变成[h,e,l,l,o,w,o,r,l,d],相当于把原始流中的元素平铺开了


最终整合操作

s.collect(Collectors.toList())  s.collect(Collectors.toMap(......))

s.reduce 迭代计算,最后得出一个reduce后的元素

s.min/max 

s.anyMatch/allMatch/nonMatch  返回布尔型,是否存在满足/是否全部满足/是否都不满足

s.count 个数

s.forEach 对每个元素操作

s.findFirst 获取流中第一个元素

s.findAny 获取流中任意一个元素(其实也是第一个, 在并行流情况下的结果运行多次可能不一样,因为看哪个cpu片先抢先运行就返回他那小段的第一个)


Collectors工具类

toList/toSet/toMap

maxBy/minBy  参数是一个Comparator, 通过给定的比较规则选出最大/最小的元素

joining 讲流中元素拼接成字符串

summingInt/summingFloat/..  计算int类型的和,

averagingInt/..  计算平均

summarizingInt/.. 获取描述统计信息,里边有元素个数,和,平均数, 最大最小等

相关文章

  • Java8流操作,转载

    原文地址: 深蓝至尊 一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得...

  • Java8流式操作笔记

    java8的新特性,非新数据结构, 源可以是集合或数组,可以对源过滤、排序、映射等(每一步返回的都是流对象),最后...

  • JavaStream 常用操作(二)

    一. 流式处理简介在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要...

  • java8流式操作

    原文链接http://zhhll.icu/2020/java%E5%9F%BA%E7%A1%80/java8/ja...

  • Java8 的 Stream 流式操作之王者归来

    原文链接:blog.ouyangsihai.cn >> Java8 的 Stream 流式操作之王者归来 相对于J...

  • RxJava使用takeUntil操作实现生命周期的绑定

    相信使用过RxJava、RxAndroid的人都会被其简便的流式操作所吸引,结合java8的lambda表达式,使...

  • Java8 新特性之流式数据处理

    摘要: java8的流式处理极大了简化我们对于集合、数组等结构的操作,让我们可以以函数式的思想去操作,本篇文章将探...

  • reactive stream协议详解

    背景 Stream大家应该都很熟悉了,java8中为所有的集合类都引入了Stream的概念。优雅的链式操作,流式处...

  • JAVA8中Lambda和Stream

    Java8于2014年3月份发布,其主要更新的特性有:函数式接口、Lambda 表达式、集合的流式操作、注解的更新...

  • Lambda应用

    原创文章,转载请注明原文章地址,谢谢! Java8中的流式处理,让集合操作变得简单,通常需要用多行代码才能完成的操...

网友评论

      本文标题:Java8流式操作笔记

      本文链接:https://www.haomeiwen.com/subject/detfcctx.html