1.简介
Lambda表达式是Java8新特性,Lambda允许把函数作为一个方法的参数传递进方法中,这样在创建匿名内部类时候更方便。同时Lambda是一种函数式编程扩展了以前Java面向对象的命令式编程方式,拓展了编程方法,以后写代码更灵活了。
2.语法
(parameters) -> expression 或 (parameters) ->{ statements; }
3.例子
// 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x // 3. 接受2个参数(数字),并返回他们的差值 (x, y) -> x – y // 4. 接收2个int型整数,返回他们的和 (int x, int y) -> x + y // 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void) (String s) -> System.out.print(s)
Java遍历集合
public static void main(String[] args){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); //传统集合遍历 for(int i = 0;i < list.size();i++){ System.out.println(list.get(i)); } for(int e : list){ System.out.println(e); } //Java 8 Lambda list.forEach(System.out::println); list.forEach(e -> System.out.println(e)); list.forEach(e -> { int key = e; System.out.println(key); }); }
JS遍历集合
arr[].forEach(function(value,index,array){
console.log(value);
})
对比Java 8 Lambda和JS遍历集合,Java 8 Lambda 更简洁,类似在JS中把function去掉,参数 -> 方法体