Java8 Lambda表达式学习心得
来源:互联网 发布:大数据调查问卷模板 编辑:程序博客网 时间:2024/05/01 06:51
lambda表达式是java8引入的重要特性,java语言向函数式编程迈向了一步。函数式编程非常适合处理大数据,同时函数式编程可以是代码更直观、更易懂;但是函数式编程,在java调式中比较难以调式查看堆栈。
lambda表达式的定义
lambda表达式允许你通过表达式代替函数接口;表达式和方法一样,有参数列表和方法体。lambda表达式增强了集合库,增加了java.util.stream和java.util.function。stream就如同之前集合的迭代器(iterator),但是它又增加了许多额外的功能。function中接口是集合为支持lambda表达式增加的一些默认接口。
lambda表达式语法
(参数列表)->(表达式) 或 (参数列表)->{表达式;}
简单例子:
()->5;
(x) -> 5*x;
(int x, int y) -> x + y;
a -> System.out.println(a);
lambda表达式应用
lambda表达式还有一个重要的作用就是替代内部匿名类,譬如:
// before java8
btn.setOnAction(new EventHandler() {
@Override
public void handle(ActionEvent event) {
System.out.println(“Hello World!”);
}
});
// java 8
btn.setOnAction(() -> System.out.println(“hello world”));
使用lambda式还可以应用到Runable接口。
new Thread(new Runnable() {
System.out.println(“hello world”);
});
new Thread(() -> System.out.println(“hello lambda”));
lambda表达式和stream
List testStream = new ArrayList() {
{
add(“I”);
add(“like”);
add(“lambda!”);
}
}
//打印每个单词
testStream.stream().foreach(word -> System.out.println(word));
//寻找最长的单词
testStream.stream().max((word1,word2) -> word1.length()-word2.length()).get();
- Java8 Lambda表达式学习心得
- Java8 新特性 Lambda 表达式学习心得
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- Java8: Lambda表达式语法
- java8 Lambda表达式
- Java8 Lambda表达式教程
- Java8 Lambda表达式
- java8 Lambda表达式
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- java8 lambda表达式-语法
- java8 lambda表达式-其他
- java8 lambda表达式
- Java8 Lambda表达式入门
- Spark/Java8 lambda表达式
- Java8 Lambda表达式教程
- MySQL Join 差集 交集
- 数据结构--红黑树
- linux QT creater配置c++调用python
- 深度学习框架性能对比分析
- pajax使用教程
- Java8 Lambda表达式学习心得
- 为什么匿名内部类参数必须为final类型
- HashMap实现与哈希冲突,与HashTable的区别
- C++作业6:数组合并、字符删除、矩阵求和
- QT学习笔记之QT使用http协议
- adb常用命令(方案公司开发者常用)
- array,vertor,arraylist,hashable,hashmap等几个易混淆概念的区别
- salesforce付费账号与普通开发账号的区别整理
- android-2015-12-08