先说下Lambda:
lambda:简化了匿名委托的使用,让你让代码更加简洁,优雅。
java 8 中Lambda 表达式由三个部分组成:
第一部分为一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数;
第二部分为一个箭头符号:-> 可以叫他,“转到”或者 “成为”;
第三部分为方法体,可以是表达式和代码块。
语法如下:
1、方法体为表达式,该表达式的值作为返回值返回。
(parameters) -> expression
(int a,int b) -> return a + b; //求和
2、方法体为代码块,必须用 {} 来包裹起来,且需要一个 return 返回值,但若函数式接口里面方法返回值是 void,则无需返回值。
(parameters) -> { statements; }
(int a) -> {System.out.println("a = " + a);} //打印,无返回值
(int a) -> {return a * a;} //求平方
应用的话,举一反三吧,这里不赘述;
如果只是简单应用的话可以参考这个:https://blog.csdn.net/SELECT_BIN/article/details/84542184
下面的可以收藏了有空看。
下面说下Stream:
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。
Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。
这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。
元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。
-- 概念参考自菜鸟教程
+----------------