什么是Lambda表达式
- jdk8开始支持Lambda表达式,用来让程序编写更优雅
- 利用Lambda可以更简洁的实现匿名内部类和函数声明与调用
- 基于Lambda提供stream流式处理极大简化了对集合的操作
List<String> names=Arrays.asList("peter","anna","mike","john");
//实现集合排序
Collections.sort(names,new Comparator<String>(){
@Override
public int compare(String a,String b){
return b.compareTo(a);
}
});
使用Lambda表达式
List<String> names=Arrays.asList("peter","anna","mike","john");
//实现集合排序
Collections.sort(names,(a,b) -> b.compareTo(a));
Lambda表达式语法
标准lambda的使用方式
使用技巧:只有一个参数时,参数列表括号可以省略
参数列表类型可以省略
只有一行实现语句时,花括号可以不写,return也可以不写
--四则运算接口
public interface MathOperation{
public Float operate(Integer a,Integer b);
}
--入口
MathOperation addition=(Integer a,Integer b)->{
System.out.println("加法运算");
return a+b+0f;
};
--Lambda忽略参数类型
MathOperation substraction=(a,b)->{
return a-b+0f;
};
--单行代码可以省略
MathOperation multiplication=(a,b)->a*b+0f;
System.out.println(addition.operate(5,3));
System.out.