首页 > 其他分享 >stream流的思想

stream流的思想

时间:2023-10-02 09:24:21浏览次数:34  
标签:思想 Stream 方法 流中 集合 stream 数据

 

作用:结合了Lambda表达式,简化集合,数组的操作

使用步骤:
  1. 先得到一条stream流水线,并把数据放上去

  2. 使用中间方法对流水线上的数据进行操作

  3. 使用终结方法对流水线上的数据进行操作

获取方式方法名说明
单列集合 default Stream< E >stream() Collection中的默认方法
双列集合 无法直接使用Stream流
数组 public static< T >stream(T[]array) Array中的静态方法
一堆零散数据 public static< T >stream< T >of(T...values) stream接口中的静态方法

中间方法

名称说明
stream< T >filter(predicate<? super T>predicate) 过滤
stream< T >limit(long maxsize) 获取前几个元素
stream< T >skip(long n) 跳过前几个元素
stream< T >distinct() 元素去重,依赖(hashcode和equals方法)
stream< T >stream< T >concat(stream a,stream b) 合并a和b两个流为一个流
stream< R >map(Function< T ,R >mapper) 转换流中的数据类型
  1. 中间方法:返回新的Stream流,原来的Stream流只能用一次,建议用链式编程

  2. 修改Stream流中的数据,不会影响原来集合或数组中的数据

终结方法

名称说明
void forEach(consumer action) 遍历
long count() 统计
toArray() 收集流中的数据,放到数组
Collect(Collector collector) 收集流中数据,放到集合中

标签:思想,Stream,方法,流中,集合,stream,数据
From: https://www.cnblogs.com/longlonglong777/p/17739708.html

相关文章

  • 《Java编程思想第四版》学习笔记32--关于static字段的序列化
    //:CADState.java//Savingandrestoringthestateofa//pretendCADsystem.importjava.io.*;importjava.util.*;abstractclassShapeimplementsSerializable{publicstaticfinalintRED=1,BLUE=2,GREEN=3;privateintxPos,yPos,dimension;p......
  • 深入剖析ThreadLocal使用场景、实现原理、设计思想
    前言ThreadLocal可以用来存储线程的本地数据,做到线程数据的隔离ThreadLocal的使用不当可能会导致内存泄漏,排查内存泄漏的问题,不仅需要熟悉JVM、利用好各种分析工具还耗费人工如果能明白其原理并正确使用,就不会导致各种意外发生本文将从使用场景、实现原理、内存泄漏、设计思想......
  • LOJ 6479 [ICPC World Finals 2017] 小小水管工 Son of Pipe Stream 题解
    更好的阅读体验题意原题链接给出\(n\)个城市和\(m\)条双向管道,以及两个实数\(v\)和\(a\)。有两种液体,分别是水和Flubber(下面简写为W和F)。\(1\)号和\(2\)号城市分别生产Flubber和水,并通过管道流入\(3\)号城市。对于一条管道,其中可以同时存在两种液体,但是方向......
  • java用Stream一行代码实现数据分组统计、排序、最大值、最小值、平均值、总数、合计
    getAverage():它返回所有接受值的平均值。getCount():它计算所有元素的总数。getMax():它返回最大值。getMin():它返回最小值。getSum():它返回所有元素的总和。示例:@GetMapping("/list")publicvoidlist(){List<InputForm>inputForms=inputFormMapper.se......
  • 归并排序思想
    前言最近在学习算法,不得不说,怪难来,不过,也很妙,感觉这些知识太难了,学会了,还容易忘,我觉定记录一下,争取用最清晰,最简单的语言来描述我学习到的思想归并排序这个排序的思想大概是,利用递归分治思想,实现排序的过程,大致过程是先把数组分割成不可分割单位,打......
  • xStream完美转换XML、JSON
    xStream框架xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换;前面有介绍过json-lib这个框架以及Jackson这个框架它们都完美支持JSON,但是对xml的支持还不是很好。一定程度上限制了对Java对象的描述,不能让xml完全体现到对Java......
  • nginx访问报错“maximum number of descriptors supported by select() is 1024 while
    1、问题背景 项目:一个人力的系统,主要用于考勤打卡环境:windowsservernginx版本:1.22 问题说明:当早上访问人数增加的时候,就会出现nginx的异常nginx的后台报错日志:maximumnumberofdescriptorssupportedbyselect()is1024whileconnectingtoupstream  ......
  • 算法思想
    贪心算法(GreedyAlgorithm):贪心算法是一种每步都选择当前状态下最优解的方法,希望最终可以得到全局最优解。它通常用于优化问题,如最小生成树、最短路径等。分治法(DivideandConquer):分治法将大问题分割成小问题,解决小问题,然后将它们合并以获得原始问题的解决方案。典型的例......
  • 整洁架构在前端的设计思想与应用实践
    随着业务的发展,前端项目承载了越来越多的职责,也越来越复杂,简单通过cli生成的框架结构越来越无法满足。面对前端项目复杂度的不断提升,我们开始思考前端的架构组织方式怎么才更合理?应该如何设计良好的前端架构?行业是否有比较好的优秀实践?本文先从架构基本概念开始介绍,然后介......
  • 《Java编程思想第四版》学习笔记31--关于Externalizable
    //:Blip3.java//Reconstructinganexternalizableobjectimportjava.io.*;importjava.util.*;classBlip3implementsExternalizable{inti;Strings;//NoinitializationpublicBlip3(){System.out.println("Blip3Constructor");//s,inoti......