Lambda 表达式了解学习
Java 8 增加了 一些功能 用于简化逻辑判断与输出.
我们对于 lambda 功能做简单学习,希望在以后的工作中,尽可能的使用 lambda 表达式的方式开发程序. 这里是建议使用,不是必须使用.但是如果其他同事使用了lamboda 表达式,你要知道是什么意思.
首先我们上手操作: 你必须按照操作步骤自己编写:
新建一个项目: 这里强调使用 jdk1.8 以及以后的版本. 如果 你的jdk 小于1.8 请升级.
这里自己创建一个package .里面放一个测试类. 测试里面写一个方法. 输出 hello world !
这里为了让你们练手,所以我就不发代码了.
这个main 方法.要求不参考代码就要写出来. 别骗自己 .隔一天早上自己不参考代码写出来. 不要尝试使用工具生成.
运行main 函数 可以正确的输出:
开始学习
我们开始学习 Lambda 接口: 记下来,
语法形式为 () -> {},其中 () 用来描述参数列表,{} 用来描述方法体,-> 为 lambda运算符 ,读作(goes to) (构思 图)。
1 经典例子:
//匿名内部类写法
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("内部类写法");
}
}).start();
使用lambda则更加简洁
new Thread(() -> System.out.println("lambda写法")).start();
2 循环遍历的使用:
输出结果:
3 除了在语言层面支持函数式编程风格,Java 8也添加了一个包,叫做 java.util.function。它包含了很多类,用来支持Java的函数式编程。其中一个便是Predicate,使用 java.util.function.Predicate 函数式接口以及lambda表达式,可以向API方法添加逻辑,用更少的代码支持更多的动态行为。下面是Java 8 Predicate 的例子,展示了过滤集合数据的多种常用方法。Predicate接口非常适用于做过滤。
结果:
组合使用 predicate :java.util.function.Predicate 允许将两个或更多的 Predicate 合成一个。它提供类似于逻辑操作符AND和OR的方法,名字叫做and()、or()和xor(),用于将传入 filter() 方法的条件合并起来。
使用lambda表达式的Map和Reduce示例 map 对数据处理.
使用lambda表达式的Map和Reduce示例 reduce 求和 …
拼接字符串:
通过 summaryStatistics 计算 各种数值:
以上代码如果自己敲打过,记住了. 实在不行自己去百度. 基本上常见的都能知道啥意思了.