为了账号安全,请及时绑定邮箱和手机立即绑定
  • 无参数

    查看全部
  • jdk原生里面原来就有这么多很棒的封装,很厉害。

    /**
    * java.util.function 包提供了大量函数式接口
    *
    * 1. Predicate     接收参数T对象,返回boolean类型的结果
    * 2. Consumer      接收参数T对象,没有返回值
    * 3. Function      接收参数T对象,返回R对象
    * 4. Supplier      不接收任何参数,直接通过get()获取指定值
    * 5. UnaryOperator 接口参数T对象,执行业务处理后,返回更新后的T对象
    * 6. BinaryOperator 接口接收两个T对象,执行业务处理后,返回T对象
    */

    查看全部
  • 2

    查看全部
  • 1

    查看全部
  • 1

    查看全部
  • 1

    查看全部
  • 4

    查看全部
  • 3

    查看全部
  •  2

    查看全部
  • 什么是Lambda

    查看全部
  • lambda表达式的基本语法

    1. 声明:就是和lambda表达式绑定的接口类型

    2. 参数:包含在一对圆括号中,和绑定的接口中的抽象方法中的参数个数及顺序一致

    3. 操作符;->

    4. 执行代码块:包含在一对大括号中,出现在操作符的右侧

      [接口声明]=(参数)-> {执行代码块}


    注:lambda表达式,必须和接口进行绑定

            lambda表达式的参数,可以附带0个到n个参数,括号中的参数类型可以不用指定,jvm在运行时,会自动根据绑定的抽象方法中的参数进行推广

            lambda表达式的返回值,如果代码只有一行,并且没有大括号,不用写return关键字,单行代码的执行结果,会自动返回,如果添加了大括号,或多行代码,必须通过return返回结果

    //没有参数,没有返回值

    interface ILambal{

        void test();}

    //有参数,没有返回值

    interface ILambal{

        void test(String name,int age);}

    //有参数有返回值

    interface ILambal{

        int test(int x,int y);}

    查看全部
  • java.util.function提供大量的函数式接口

    Predicate 接受参数T对象,返回一个boolean类型结果

    Consumer 接受参数T对象,没有返回值

    Function 接受参数T对象,返回R对象

    Supplier 不接受任何参数,直接通过get获取指定类型的对象

    UnaryOperator 接口参数T对象,执行业务处理后,返回更新后的T对象

    BinaryOperator接口接受两个T对象,执行业务处理后,返回一个T对象

    查看全部
  • Stream常用api

    查看全部
    0 采集 收起 来源:Stream API

    2021-03-14

  • Stream常用api

    查看全部
    0 采集 收起 来源:Stream API

    2021-03-14

  • public static void main(String[] args) {
           List<Person> personList = new ArrayList<>();
           personList.add(new Person("kar","男",22));
           personList.add(new Person("nioa","女",15));
           personList.add(new Person("duola","男",32));
           personList.add(new Person("miky","女",55));
           personList.add(new Person("sisi","男",44));
           personList.add(new Person("holy","女",42));
           //原始方法
    //        Collections.sort(personList, new Comparator<Person>() {
    //            @Override
    //            public int compare(Person o1, Person o2) {
    //                return o1.getAge() - o2.getAge();
    //            }
    //        });
    //        System.out.println(personList);

           //lambda方法
    //        Collections.sort(personList,(o1, o2) -> o1.getAge() - o2.getAge());
    //        System.out.println(personList);

           //lambda静态方法使用
    //        Collections.sort(personList,Person::compareByAge);
    //        System.out.println(personList);

           //lambda实例方法引用
           Person person = new Person();
           Collections.sort(personList,person::compareByAge2);
           System.out.println(personList);

           //构造方法引用
           InitPerson initPerson = Person::new;
           initPerson.initPerson("张三","男",123);

    查看全部
    0 采集 收起 来源:方法引用

    2021-03-14

举报

0/150
提交
取消
¥48.00
立即购买
课程须知
1、有Java基本语法、对面向对象有比较清晰的认知 2、有Java中的集合、线程基础。 3、最后进行项目重构的项目是SpringBoot的项目。虽然和框架相关性不大,但有SpringBoot基础可能更有利于理解。
老师告诉你能学到什么?
1、Lambda表达式的底层原理【知其然知其所以然】 2、Lambda表达式的高阶用法【面试加分、技能提升】 3、使用Lambda表达式重构项目案例【学以致用】 4、对性能问题和线程安全的思考【提升视角,培养思维】
加群二维码
  • 慕课Java核心用户群
  • 群号:314316732
  • 付费用户专享
  • 技术学习型社群

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!