首页 > 编程语言 >java常用应用程序编程接口(API)——Stream概述

java常用应用程序编程接口(API)——Stream概述

时间:2024-03-18 23:58:29浏览次数:21  
标签:java stream Stream 元素 此流 获取 API 方法

前言:

stream是jdk8以后新增的API,熟练操作后会非常实用。打好基础,daydayup!!

Stream

Stream也称为Stream流,用于操作集合或者数组的数据。Stream流大量的结合了Lambda的语法风格,使代码更简洁,可读性更好

 Stream的使用

Stream的使用有三个步骤:1,获取Stream流,与数据源建立连接;2,用各种流水线的中间方法对数据进行处理,计算;3,使用终结方法获取处理的结果,并收集到新集合中返回

 1,获取Stream流

集合获取Stream流需要使用stream方法,数组获取Stream流可以使用stream方法,也可以使用stream的of方法

例:

 

  2,Stream流的中间方法
Stream提供的常见中间方法说明
Stream<T> filter(Predicate<?super T> predicate)用于对流中的数据进行过滤
Stream<T> sorted()对元素进行升序排序
Stream<T> sorted(Comparator<? super T>comparator)按照指定规则排序
Stream<T> limit(long maxSize)获取前几个元素
Stream<T>skip(long n)跳过前几个元素
Stream<T> distinct()去除流中重复的元素
<R> Stream<R> map(Function<? super T ,? extends R > mapper)对元素进行加工,并返回对应的新流
static <T> Stream<T> concat(Stream a ,Stream b)合并a和b两个流成为新流

 例:

3,Stream流的终结方法
Stream流的终结方法说明
void forEach(Consumer action)对此流运算后的元素执行遍历
long count()统计此流运算后的元素个数
Optional<T> max(Comparator<? super T>comparator)获取此流运算后的最大值元素
Optional<T> min(Comparator<? super T>comparator)获取此流运算后的最小值元素

例:

Stream流的收集

Stream流只是处理合集,但如果需要把处理后的数据添加到其他集合里,那么还需要其他的方法来解决

方法1:collect方法(返回合集)

方法2:toArray方法(返回数组)

总结: 

 整理的时候,自己又重新过了一遍,知识点很繁琐,需要大量练习。整理结束,撒花!!!

标签:java,stream,Stream,元素,此流,获取,API,方法
From: https://blog.csdn.net/l822099133/article/details/136820650

相关文章

  • Java_EE企业级开发学习笔记——spring学习笔记第一章
    记录笔记。一.Spring介绍Spring是以IOC(控制反转)和AOP(面向切面编程)为内核的一个轻量级开源框架。二.Spring框架的优点1.非侵入设计使得应用程序对框架的依赖最小化。2.方便解耦对象的创建和依赖关系的维护都由Spring容器管理。......
  • 【20.7】Django表单API详解
    【一】引入声明:以下的Form、表单等术语都指的的广义的Django表单。Form要么是绑定了数据的,要么是未绑定数据的。如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单。如果未绑定,则无法进行验证(因为没有数据可以验证!),但它仍然可以以HTML形式呈现空白表单。若要......
  • java八股——java并发(1)
    上一篇传送门:点我java面试中,并发相关的一些面试题整理,很多部分仅为个人理解,如有问题欢迎讨论指正(待补充)。并行与并发有什么区别?并行和并发都是指多个任务同时执行的概念,但是它们之间有着明显的区别。并行是指多个任务在同一时刻同时运行,通常会需要使用多个处理器或者多......
  • webapi通过docker部署到Linux的两种方式
    docker安装官网删除dockersudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine安装sudoyuminstall-yyum-utilssudoyum-config-manage......
  • Java毕业设计-基于SSM框架的学生成绩管理系统项目实战(附源码+论文)
    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦。......
  • Java中的多线程是如何实现的?
    ​​​​​​继承Thread类:通过继承Java的Thread类并重写其run()方法,可以创建一个线程。run()方法包含了线程要执行的代码。创建Thread子类的实例,并调用其start()方法来启动线程。start()方法会导致线程开始执行,自动调用run()方法。注意:Java不支持多重继承,因此如果类已经继承了......
  • Java中的泛型是如何工作的?
    Java中的泛型(Generics)是JDK5.0引入的一个新特性,它提供了编译时类型安全,允许在定义类、接口和方法时使用类型参数(typeparameters)。泛型的主要目的是在编译时增强类型检查,以减少运行时类型转换的错误,同时保持使用泛型类型时的类型灵活性。以下是Java中泛型工作的几个关键点:类......
  • 计算机毕业设计-基于Java+SSM架构的学生综合考评管理系统项目开发实战(附论文+源码)
    大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。......
  • 程序人生——Java开发持续进阶,拥抱开源世界以思想为源泉
    目录引出开源世界建议139:大胆采用开源工具建议140:推荐使用Guava扩展工具包建议141:Apache扩展包建议142:推荐使用Joda日期时间扩展包建议143:可以选择多种Collections扩展思想为源建议144:提倡良好的代码风格建议145:不要完全依靠单元测试来发现问题建议146:让注释正确、清......
  • 程序人生——Java使用关于性能和效率的建议
    目录引出性能和效率建议132:提升Java性能的基本方法建议133:若非必要,不要克隆对象建议134:推荐使用“望闻问切”的方式诊断性能建议135:必须定义性能衡量标准建议136:枪打出头鸟—解决首要系统性能问题建议137:调整JVM参数以提升性能建议138:性能是个大“咕咚”深入认识JVM......