首页 > 其他分享 >stream流的概述以及idea与stream

stream流的概述以及idea与stream

时间:2023-12-18 18:48:58浏览次数:33  
标签:arr stream author list idea book 概述

前面自己学过一些流的概念,比如IO流,用于读写本地的数据。

stream流主要是用于对集合/数组进行操作

 

idea现在已经很好的支持Stream流操作,在debug的时候可以很好的看到详细内容

 下面以一个我的简单demo为例

1.distinct进行去重

 2.filter去重之后的过滤//是一个中间操作

 3.foreach打印//这个是终结操作,只有出现终结操作前面的才会生效

 /*虽然参数名是随便写的,但是最好是见名知其意*/

创建流对象

1.单列集合:list.stream();

2.数组:Arrays.stream(arr);//Integer[] arr={1,2,3}  也可以使用steam.of(arr)

3.双列集合:map.entrySet.stream();//KV对使用

中间操作

过滤器:filter(a->a>2)

对流中的数据进行计算或者转换:map(a->a.getName)//举例子:把类元素变成类的姓名元素

        map的匿名函数是有两个变量,第一个变量的类型是流初始化时的类型,第二类型是你想要的具体类型。上面的例子中如果a是Autor类型,那么流对象就在这时变成了string类型

去重:distinct() //这个方法是依赖object的equals方法来判断对象的,所以注意需要重写的equals对象

        //这里推荐使用lombok的@hashandequals注解

排序:sorted((a,b)->a-b)  //如果调用空参的sorted,流中的元素是需要实现了Comparator,通过这个接口定义一个方法,然后再通过方法进行比较

限制:list(n)

跳过:skip(n)

 flatmap(author->author.getBooks.stream()):返回一个流,下面的例子为:author内有一个list参数book,现在我要取出所有book使用flatmap把author流转化为了book流

 

标签:arr,stream,author,list,idea,book,概述
From: https://www.cnblogs.com/kun1790051360/p/17911727.html

相关文章

  • IDEA插件中的Postman!
    Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:ApipostHelper,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。更重要的是他完全免费!Apipost......
  • API调试神器!免费IDEA插件推荐
    IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天给大家介绍一款IDEA插件:Apipost-Helper-2.0。代码写完直接编辑器内调试、还支持生成接口文档、接......
  • IDEA插件中的Postman!
    Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:ApipostHelper,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。更重要的是他完全免费!Apipos......
  • API调试神器!免费IDEA插件推荐
    IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天给大家介绍一款IDEA插件:Apipost-Helper-2.0。代码写完直接编辑器内调试、还支持生成接口文档、......
  • Ubuntu20.04下DeepStream Python环境安装
    引子最近工作学习中遇到多路视频解码抽帧的需求,考虑到项目上大多数用到的都是Nvidia的显卡,常规CPU软解显然无法满足多路的需求,故考虑使用N卡的硬解码功能。然后我就毫不犹豫的去找轮子了,ChatGPT这么火,那就先问问它吧。嗯,呃,貌似下图红框里答案只有那么一点点靠谱(不要问我为啥......
  • JDK版本特性(二)StreamAPI
    StreamAPI1概述Stream是java8中处理集合的关键抽象概念它可以指定对集合进行的操作,比如执行肥非常复杂的查找、过滤和映射等操作还可以使用SteamAPI来进行并行操作2Steam实例化2.1集合创建​ 实现自接口collection.stream()@TestpublicvoidgenByCollec......
  • Day08---IDEA
    Day08IDEA中的第一个代码IDEA项目结构介绍project(项目)module(模块)package(包)class(类)步骤:新建项目-->在项目内新建模块-->在新建模块内新建包-->在包内创建类常用的系统设置提示忽略大小写修改主题修改注释的颜色修改字体自动导包IDEA的项目和模块......
  • 48、Flink DataStream API 编程指南(1)- DataStream 入门示例
    文章目录Flink系列文章一、FlinkDataStreamAPI编程指南1、DataStream是什么?2、Flink程序剖析3、第一个完整示例4、入门示例1)、maven依赖2)、代码3)、验证本文介绍了FlinkDataStreamAPI的编程指南第一部分,即介绍flink的source、transformation和sink的编程过程以及入门示例......
  • 48、Flink DataStream API 编程指南(3)- 完整版
    文章目录Flink系列文章一、FlinkDataStreamAPI编程指南1、DataStream是什么?2、Flink程序剖析3、第一个完整示例4、入门示例1)、maven依赖2)、代码3)、验证5、DataSources1)、基于文件2)、基于套接字3)、基于集合4)、自定义6、DataStreamTransformations7、DataSinks8、Iteratio......
  • idea java import 规范化
    参考官方配置文件功能介绍一些标准会针对import的顺序、import*的使用有一定的要求,为了避免手动调整的窘境,可以通过idea基础配置,来实现import的自动格式化、规范化。配置路径:Settings-->Editor-->CodeStyle-->Java-->Imports选项内容解析:Layoutstaticimportsseparat......