Lambda表达式

简介: Lambda表达式

Lambda表达式

Lambda表达式是整个java8发行版中最受期待的在java语言层面上的改变,Lambda允许把函数作为一个方法的参数,或者把代码看成数据。Lambda表达式用于简化java中接口式的匿名内部类,被称为函数式接口的概念。函数式接口就是一个具有一个方法的普通接口,像这样的接口,可以被隐式转换为Lambda表达式

基本使用:

创建一个接口(无参数时):

public interface IEat {
    void eat();
}

lambda演示:

IEat iEat = ()-> System.out.println("eat shi");
iEat.eat();//eat shi

接口有参数时,例如:

public interface IEat{
    void eat(String name,String value);
}

lambda:

IEat iEat = (a,b)-> System.out.println("我吃"+a+b);
 iEat.eat("baba","fenfen");//我吃babafenfen

接口有返回值时:

public interface IEat {
    int eat(int a,int b);
}

lambda:

IEat ieat = Integer::sum;
System.out.println(ieat.eat(3,4));//7

#:案例,对一个对象根据年龄进行排序,用lambda的方式(前面我们是自己定义的比较器,这次我们可以使用lambda表达式来实现)

实体类:

class Cat {
    private String name;
    private int age;
    public Cat(String name, int age) {
        this.name = name;
        this.age = age;
    }
 // get,set,toString
}

代码测试:

Cat[] cats = {new Cat("lili", 12), new Cat("zhan", 1), new Cat("qiqi", 3)};
Arrays.sort(cats,Comparator.comparingInt(Cat::getAge));
System.out.println(Arrays.toString(cats));


目录
相关文章
|
5月前
|
算法 编译器 C++
C++一分钟之—Lambda表达式初探
【6月更文挑战第22天】C++的Lambda表达式是匿名函数的快捷方式,增强函数式编程能力。基本语法:`[capture](params) -> ret_type { body }`。例如,简单的加法lambda:`[](int a, int b) { return a + b; }`。Lambda可用于捕获外部变量(值/引用),作为函数参数,如在`std::sort`中定制比较。注意点包括正确使用捕获列表、`mutable`关键字和返回类型推导。通过实践和理解这些概念,可以写出更简洁高效的C++代码。
54 13
|
6月前
|
Java 编译器
Lambda表达式
Lambda表达式
34 0
|
6月前
|
Java
lambda表达式详解
lambda表达式详解
lambda表达式
lambda表达式是C++11引入的一种简洁的函数定义的方法。lambda表达式具有间接的语法和灵活的使用方式,让代码更加简洁和易读。特别是与function结合起来使得代码的编写更加灵活。本文将简单介绍lambda表达式的相关用法。
|
6月前
|
并行计算 Java 编译器
Lambda表达式超详解
Lambda表达式超详解
|
算法 编译器
C++11 lambda表达式(下)
C++11 lambda表达式(下)
91 2
|
算法 搜索推荐 编译器
C++11:lambda表达式
C++11:lambda表达式
42 0
|
存储 编译器 C++
c++ lambda表达式
c++ lambda表达式
85 0
|
存储 算法 编译器
lambda表达式的介绍
lambda表达式的介绍
115 0
|
Java
浅谈lambda表达式
浅谈lambda表达式
66 0