一:Lambda表达式
先看例子
首先我们可以使用原来的方法进行排序
然后我们进行些许改进
删掉了一些代码,加上了一个->箭头
我们发现结果和原来一样
1.函数式编程
面向对象:先找对象,再让对象做事情
函数式编程:忽略面向对象复杂的语法,强调做什么,而不是谁去做吗,更加关心逻辑而不是对象
2.关于Lambda表达式
使用方式
注意:Lambda是用来简化匿名内部类的书写的
Lambda表达式只能简化函数式接口的匿名内部类写法
关于函数式接口:有且仅有一个抽象方法的接口叫做函数式接口,接口上方可以加入@FunctionalInterface注解
Lamdba表达式的作用:简化函数式接口的匿名内部类的写法
Lamdba表达式的好处:Lamdba是一个匿名函数,我们可以把他理解为是一串可传递的代码,它可以写出更加简洁,灵活的代码 。
二:Collection的遍历方式:
1.迭代器遍历:
迭代器不依赖索引
迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式。
注意事项:如果已经没有元素,强行获取就报错
迭代器遍历完毕,指针不会复位(如果想要遍历,就要再次获取迭代器对象)
循环中只能使用一次next()方法
循环遍历时 ,不能使用集合的方法进行增加和删除
2.增强for遍历
内部原理就是一个迭代器
所有单列集合和数组才可以使用增强for进行遍历
这里面的s就是一个第三方变量在循环过程依次表示集合中的每一个数据
所以修改第三方变量不会改变原来的数据