JavaSE@拓展补遗@笔记01@Lambda表达式

一、Lambda表达式

1、Lambda的作用

作用

Lambda表达式能在某些情况下代替匿名内部类,去简化代码。

2、Lambda的格式

三个部分

一些参数

一个箭头

一段代码

标准格式

(一些参数)->{一段代码}

3、案例演示

线程案例演示

//Lambda表达式
Thread t = new Thread(()->{
    for (int i = 0; i < 100; i++) {
        System.out.println(i);
    }
});
​
t.start();

比较器案例演示

 //创建集合
 ArrayList<Integer> list = new ArrayList<>();
 //添加元素
 list.add(123);
 list.add(456);
 list.add(789);
 list.add(111);
 list.add(999);
/*
         Integer o1 :代表的是要比较的元素
         Integer o2 :代表的是已经排好的元素
​
         返回值:
             如果返回值是正数,表示o1>o2,会把o1放在后面
             如果返回值是负数,表示o1<o2,会把o1放在前面
             如果返回值是零, 表示o1==o2,o1和o2的位置不变
      */
​
 //排序
 //匿名内部类
 //Collections.sort(list, new Comparator<Integer>() {
 //    @Override
 //    public int compare(Integer o1, Integer o2) {
 //        return o2 - o1;
 //    }
 //});
​
​
 //Lambda表达式
 Collections.sort(list, (Integer o1, Integer o2)->{ return o2 - o1;});
​
 System.out.println(list);

4、函数式接口

如果一个接口的抽象方法有且只有一个,那么这个接口就是一个函数式接口。

@FunctionalInterface用来检查当前接口是否是函数式接口。

5、Lambda的前提条件

Lambda表达式只能应用于函数式接口。

6、省略格式

1、小括号中的参数类型可以省略。

2、如果小括号中只有一个参数,小括号可以省略

3、如果大括号中只有一行代码,不管有没有返回值,可以同时省略大括号 return 和 分号。

7、小结

为了简化代码学的知识点:
    匿名对象
    匿名内部类
    Lambda
   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值