Lambda表达式与Collection的遍历方式

104 阅读2分钟

 一:Lambda表达式

先看例子

​编辑

​编辑

首先我们可以使用原来的方法进行排序

然后我们进行些许改进

​编辑

删掉了一些代码,加上了一个->箭头

​编辑

我们发现结果和原来一样

1.函数式编程

面向对象:先找对象,再让对象做事情

函数式编程:忽略面向对象复杂的语法,强调做什么,而不是谁去做吗,更加关心逻辑而不是对象

2.关于Lambda表达式

使用方式

​编辑

注意:Lambda是用来简化匿名内部类的书写的

           Lambda表达式只能简化函数式接口的匿名内部类写法

关于函数式接口:有且仅有一个抽象方法的接口叫做函数式接口,接口上方可以加入@FunctionalInterface注解

Lamdba表达式的作用:简化函数式接口的匿名内部类的写法

Lamdba表达式的好处:Lamdba是一个匿名函数,我们可以把他理解为是一串可传递的代码,它可以写出更加简洁,灵活的代码 。

二:Collection的遍历方式:

1.迭代器遍历:

迭代器不依赖索引

迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式。

 ​编辑

注意事项:如果已经没有元素,强行获取就报错

                  迭代器遍历完毕,指针不会复位(如果想要遍历,就要再次获取迭代器对象)

                  循环中只能使用一次next()方法

                  循环遍历时 ,不能使用集合的方法进行增加和删除

2.增强for遍历

内部原理就是一个迭代器

所有单列集合和数组才可以使用增强for进行遍历

​编辑

​编辑

这里面的s就是一个第三方变量在循环过程依次表示集合中的每一个数据

所以修改第三方变量不会改变原来的数据

3.lambda表达式

​编辑