函数式编程-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表达式的简写格式是 ()->{}  ,()里面是参数,{}里面是具体的代码

函数式编程-Stream流学习第一节_第1张图片

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

函数式编程-Stream流学习第一节_第2张图片

 3.2.2 练习2

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

   函数式编程-Stream流学习第一节_第3张图片

 简写完成后,并打印

函数式编程-Stream流学习第一节_第4张图片

3.2.3 偷懒

函数式编程-Stream流学习第一节_第5张图片

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

4.省略规则

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

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

函数式编程-Stream流学习第一节_第6张图片

 

你可能感兴趣的:(学习)