Lambda表达式
一、基础语法
Lambda是一个匿名函数:参数列表、方法体
():用来描述参数列表
{} :用来描述方法体
—> :Lambda运算符,读作goes to
无参无返回:
Interferce inter=()->{
…/执行方法
}
单参无返回:
Interferce inter=(int a)->{
…/执行方法
}
多参无返回:
Interferce inter=(int a,int b)->{
…/执行方法
}
无参有返回:
Interferce inter=()->{
…/执行方法
return …/
}
二、语法精简
1.参数类型
由于在接口的抽象方法中,已经定义了参数的数量和类型,参数类型可以省略
备注:如果省略类型,则每个参数类型都要省略
2.参数小括号
如果参数列表中,参数的数量只有一个,此时小括号可以省略
3.方法大括号:
如果方法体中只有一条语句,此时大括号可以省略
4.如果方法体中唯一的一条语句是返回语句,省略大括号和return
三、方法的引用
方法引用:可以快速的将一个Lambda表达式的实现指向一个已经实现的方法
语法:方法的隶属者::方法名
注意:
1.参数数量和类型要和接口中定义的方法一致
2.返回值一致
Interferce inter=类名::方法名
注:如果是构造方法:
Interferce inter=类名::new
四、综合实例
1.集合排序:
list.sort((o1,o2)->o2.age-o1.age);
2.集合遍历:
list.forEach(System.out::println);
带条件的输出
list.forEach(ele->{
…/执行判断
});
3.删除集合元素
list.removeIf(ele->ele.age>10)
4.线程的输出
Thread t=new Thread(()->{
…/执行方法块
})
五、内置函数式接口
(注:本文内容是在B站上观看视频整理的,并非本人总结,因为视频讲解的很好,适合入门级选手,所以整理出来怕以后忘记。)