- Lambda 简介
Lambda 作为一个新的特性添加到jdk中,说明了java对其它语言的支持,吸收其它语言先进的方法。Lambda 表达在java中提供了类型的引用,方法的引用,和默认方法。
对于Lambda的解释在wiki百科看到了就不做翻译保留原味(看看大家的理解,有不同的看法欢迎探讨)
Lambda (programming), a function (or a subroutine) defined, and possibly called, without being bound to an identifier
Lambda expression in Lambda calculus, a formal system in mathematical logic and computer science for expressing computation by way of variable binding and substitution
来自: http://medianetwork.oracle.com/video/player/3373491280001
2. 例子
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class LambdaExpresstionTouris {
public static void main(String[] args) {
List<String> ocuppys1 = new ArrayList<String>();
ocuppys1.add("bussinessman");
ocuppys1.add("doctor");
ocuppys1.add("teacher");
ocuppys1.add("programer");
ocuppys1.add("stuedent");
List<String> ocuppys2 = new ArrayList<String>();
ocuppys2.add("bussinessman");
ocuppys2.add("doctor");
ocuppys2.add("teacher");
ocuppys2.add("programer");
ocuppys2.add("stuedent");
LambdaExpresstionTouris leTouris = new LambdaExpresstionTouris();
System.out.println("use java 7 sort:");
System.out.println("before:"+ocuppys1);
leTouris.sortByJava7(ocuppys1);
System.out.println("before:"+ocuppys1);
System.out.println("use java 8 sort:");
System.out.println("before:"+ocuppys2);
leTouris.sortByJava8(ocuppys2);
System.out.println("before:"+ocuppys2);
}
//使用JAVA 7的原始排序方法
private void sortByJava7(List<String> listStr){
Collections.sort(listStr, new Comparator<String>() {
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
}
//使用JAVA 8 lambda 表达式进行排序
private void sortByJava8(List<String> listStr){
Collections.sort(listStr,(s1,s2) -> s1.compareTo(s2));
}
}
- 总结
1,Lambda 是函数。
2,java8 定义的新的API使用的函数接口
3,默认的函数方法
4,使用它可以来实现方法的引用
5,使用它的排序函数来实现排序
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-03 12:34:55