Java 8 Lambda 表达式

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去掉,参数 -> 方法体

原文地址:https://www.cnblogs.com/i-tao/p/12856148.html