java8 新特性之-----Lambda
2015-07-29 22:26
459 查看
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 {
}
总结
1,Lambda 是函数。
2,java8 定义的新的API使用的函数接口
3,默认的函数方法
4,使用它可以来实现方法的引用
5,使用它的排序函数来实现排序
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,使用它的排序函数来实现排序
相关文章推荐
- Java中堆内存和栈内存详解
- Java学习笔记(七) Enumertation接口的理解和使用和StringTokenizer的使用
- (转)struts2 Action获取表单数据
- Spring IOC 依赖注入的两种方式XML和注解
- java要看的书
- Java基础知识(7.29)
- static关键字
- 《写给大忙人看的java SE8》笔记 -- 1. lambda表达式
- Ubuntu中安装JDK
- java中关于链表操作
- IDEA14.X环境下Java Web项目的创建
- java编程思想恶心的enum状态机示例
- 初识JAVA
- Java多线程编程总结(学习博客)
- Action中如何通过@Autowired自动注入spring bean ?
- java ee中使用dbcp
- java语言基础总结
- Java(07—29)学习总结
- Java回顾之序列化
- Java爬虫,信息抓取的实现