函数式编程-Stream流学习第一节

1 为什么学习

   1.现在很多公司在编程中大量使用函数式编程-Stream流格式代码,所以为了能够看懂公司的代码

  2.大量数据下处理集合效率高--因为有并行流

  3.代码可读性高

 4.消灭嵌套地狱

2 函数式编程思想

2.1 概念

  面向对象编程是关注于用对象完成什么事情。而函数式编程就像我们所学的数字中的函数。它关注的是对数据进行了什么样的处理

2.2 优点

  •   代码简洁,快速开发
  •   接近自然语言,容易理解
  •   易于‘并发编程’

3 Lambda表达式

3.1 概述

Lambda表达式是JDK1.8的一个语法糖,它可以对某些匿名内部类的语法进行简写。是函数式编程的一个重要体现,让我们不用关注是什么对象,而且关注于对数据进行了什么样的操作

3.2 练习

3.2.1 练习1

我们有个calculateNum方法,现在我们通过匿名内部类的方式实现 就是13行到19行的代码,然后Lambda表达式的简写格式是 ()->{}  ,()里面是参数,{}里面是具体的代码

这个时候我们就可以开始简写,简写完成后

 3.2.2 练习2

   有个printNum方法呢,我们也是通过匿名内部类的方式去实现,然后我们希望能够打印arr数组里面能被2整除的数也就是,13行到18行的代码,然后我们按照第一个案例的Lambda表达式的格式来

   

 简写完成后,并打印

3.2.3 偷懒

 当我们的代码可以通过lambda表达式来简写的时候,可以点击代码最右边的黄色区域,idea会自动帮我们简写,idea是不是很强大

4.省略规则

  • ()里面的参数类型可以不写
  • 方法体只有一句代码时,大括号和return和;可以简略不写
  • 方法只有一个参数时,()可以不写
  • 上面这3点记不住,可以省略不记

我们以例二为例子,它还可以简写成这个样

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/103440.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pm4py使用指南(非机翻)

目录 1. 日志数据读取及预处理(1)查看case和event数量(2)查看起始事件和结束事件(3)时间戳格式的问题 2. 日志数据过滤3. 流程发现4. 模型转化5. 模型可视化 1. 日志数据读取及预处理 通过 pandas库 读取c…

数据结构-Java逆天操作

本文章会对Java线性表的相关知识进行讲解,也会以Java代码示例来进行解释 对线性表的讲解分析 定义 线性表是一种数据结构,它是由一系列具有相同类型的元素组成的有序集合。线性表中的元素按照线性的顺序 排列,每个元素只有一个前驱元素和一…

对于pycharm 运行的时候不在cmd中运行,而是在python控制台运行的情况,如何处理?

对于pycharm 运行的时候不在cmd中运行,而是在python控制台运行的情况,如何处理? 比如,你在运行你的代码的时候 它总在python控制台运行,十分难受 解决方法 在pycharm中设置下即可,很简单 选择运行点击…

python爬虫10:selenium库

python爬虫10:selenium库 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产…

LeetCode--HOT100题(34)

目录 题目描述:94. 二叉树的中序遍历(简单)题目接口解题思路1代码解题思路2代码 PS: 题目描述:94. 二叉树的中序遍历(简单) 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 LeetCode做…

爆火「视频版ControlNet」开源了!靠提示词精准换画风,全华人团队出品

“视频版ControlNet”来了! 让蓝衣战神秒变迪士尼公举: 视频处理前后,除了画风以外,其他都不更改。 女孩说话的口型都保持一致。 正在插剑的姜文,也能“下一秒”变猩球崛起了。 这就是由全华人团队打造的最新视频处理…

性能调优篇 二、Jvm监控及诊断工具-命令行篇

目录 一、概述1、简单命令行工具 二、jps:查看正在运行的Java程序(掌握)1、是什么?2、测试3、基本语法 三、jstat:查看jvm统计信息(掌握)1、是什么?2、基本语法3、补充 四、jinfo&am…

记录Taro大坑2丢失api无法启动

现象 解决方案 看了很多。很多说要改成一致的版本号。其实没什么用。 正确方案 再新建一个模板跑起来对比config的配置,以及package.json发现关闭预编译即可。预编译导致api丢失

javaWeb差缺补漏(一)【针对于自身知识点掌握情况】

前端三大件部分 1、a标签的target属性iframe标签的name属性 2、textarea标签:表示多行文本输入。起始标签和结束标签中的内容是默认值。 rows:属性设置可以显示多少行。 cols:属性设置每行显示多少列。 3、form表单的action提交的时候&a…

使用proxman对iOS真机进行抓包

1 打开手机的safari 输入地址 http://proxy.man/ssl 2 下载证书代开设置页面,安装证书 设置信任证书 打开手机设置 ,点击通用 点击关于本机、 点击证书信任设置 打开信任设置开关 4 设置手机代理 查看需要设置的代理地址 打开界面 在手机中按…

Redis过期数据的删除策略

1 介绍 Redis 是一个kv型数据库,我们所有的数据都是存放在内存中的,但是内存是有大小限制的,不可能无限制的增量。 想要把不需要的数据清理掉,一种办法是直接删除,这个咱们前面章节有详细说过;另外一种就是…

React基础入门之虚拟Dom

React官方文档:https://react.docschina.org/ 说明 重要提示:本系列文章基础篇总结自尚硅谷课程,且采用类式写法!!最新的函数式组件写法见高级篇。 本系列文档旨在帮助vue同学更快速的学习react,如果你很…

【SpringCloud技术专题】「Gateway网关系列」(2)微服务网关服务的Gateway功能配置指南分析

Spring Cloud Gateway简介 Spring Cloud Gateway是Spring Cloud体系的第二代网关组件,基于Spring 5.0的新特性WebFlux进行开发,底层网络通信框架使用的是Netty,所以其吞吐量高、性能强劲,未来将会取代第一代的网关组件Zuul。Spri…

【分享】小型园区组网场景

小型园区组网图 在小型园区中,S2700&S3700通常部署在网络的接入层,S5700&S6700通常部署在网络的核心,出口路由器一般选用AR系列路由器。 接入交换机与核心交换机通过Eth-Trunk组网保证可靠性。 每个部门业务划分到一个VLAN中&#…

Verilog语法学习——边沿检测

边沿检测 代码 module edge_detection(input sys_clk,input sys_rst_n,input signal_in,output edge_rise,output edge_down );//存储上一个时钟周期的输入信号reg signal_in_prev;always (posedge sys_clk or negedge sys_rst_n) beginif(!sys_rst_n)signal_in_pre…

【ARM】Day9 cortex-A7核I2C实验(采集温湿度)

1. 2、编写IIC协议,采集温湿度值 iic.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "led.h" /* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4* I2C1_S…

STM32 进不了main 函数

1. 我用的是STM32L151C8T6 的芯片,在github 上找了个别人的例程,拿来当模板改,由于他用的是HSE 外部晶振,我用的是内部晶振HSI,所以需要改系统时钟,改完后debug, 一直进不了main 函数&#xff0…

SQL地址门牌排序,字典序转为数字序

页面有一批地址数据查询,结果字符排序默认是字典序的,所以造成了门牌3号在30号之前,影响用户体验; id, road_code, road_name, address_fullname, address_name 102 10086 人民一路 北江省南海市西湖区人民一路3号 3号 103 10086…

Docker Desktop 笔记

https://blog.csdn.net/qq_39611230/article/details/108641842 https://blog.csdn.net/KgdYsg/article/details/118213499 1、修改配置 {"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://…

【FAQ】视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…