java1.8常用的Lamdba表达式 Stream API

Lambda表达式是什么,有什么用?

Lambda表达式是一个匿名函数,运用Lambda表达式可以极大的提高编程效率和程序可读性。
Java 8 中的 Stream 是对集合(Collection)对象功能的增强,对集合进行各种非常便利、高效的聚合操作,或者大批量数据操作。
Stream 可以理解为高级版本的 Iterator。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任务和加速处理过程。
 

了解下lamdba表达式的组成:

(str) -> System.out.println(str)

左边代表参数,右边代表主体。

(str) :代表参数,不写类型会根据上下文获取(str1),也可以自己定义参数(String str1),也可以有多个参数(String str1,String str2),也可以无参()。

->     :  理解为“转到”的意思

System.out.println(str) : 代表主体,如果是代码块加上花括号{System.out.println(str1); System.out.println(str2);}

废话少说,下面介绍下在项目中经常用到的Lamdba表达式

常用的Lamdba表达式

代替匿名内部类

//before
new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("123");
    }
}).start();

//after
new Thread(() -> System.out.println("456")).start();

forEach:循环List

List<String> list = Arrays.asList("2", "b", "10", "4", "6", "aa", "b", "ccdf");

//before
for (String str : list) {
    System.out.println(str);
}

//after
list.forEach((str) -> System.out.println(str));

// double colon operator
list.forEach(System.out::println);

System.out.println("**********************************************");

//before
for (String str : list) {
    if (str.equals("a")) {
        System.out.println(str);
    }
}

//after
list.forEach((str) -> {
    if (str.equals("a")) {
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值