java stream()操作

学习b站up主三更草堂的笔记

Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合

1.lambda

参考连接:一文搞懂Java8 Lambda表达式(附视频教程)
常常介绍的就是创建线程了

new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("hhh");
            }
        }).start();
new Thread(()-> System.out.println("hh")).start();

还有平时最常用的遍历list

        ArrayList<String> stringArrayList = new ArrayList<>();
        stringArrayList.add("a");
        stringArrayList.add("b");
        stringArrayList.add("c");
        stringArrayList.forEach(s -> {
            System.out.println(s = s + "hhhh");
        });
        stringArrayList.forEach(System.out::println);

进阶小技巧:匿名内部类进一步探索
将参数定义为函数式接口(只有一个抽象实现方法)的话,调用方法时使用lambda使用匿名内部类传入参数,方便灵活使用
在这里插入图片描述
在这里插入图片描述

还有就是在mybatsiplus中经常用到了。

2.stream

参考连接:不会Lambda表达式、函数式编程?你确定能看懂公司代码?

1创建流

在这里插入图片描述

2中间操作

filter(根据条件过滤)

在这里插入图片描述

map(转换和计算)

在这里插入图片描述
在这里插入图片描述

distinct(去重)

在这里插入图片描述

sorted(排序,要求元素无重复)

在这里插入图片描述

limit(获取前n个)

在这里插入图片描述

skip(跳过前n个)

在这里插入图片描述

skip(跳过前n个)

在这里插入图片描述

flatMap(将流的元素再转换为流)

在这里插入图片描述

终结操作

foreach(遍历)

count(求数量)

max&min(最值)返回optional类型

在这里插入图片描述

collect(收集流里面的元素

find&match(查找与匹配)

在这里插入图片描述

reduce(按照指定计算方式返回一个结果)

Optional(避免空指针异常)

创建对象

在这里插入图片描述

安全的消费与获取值

在这里插入图片描述

在这里插入图片描述

过滤(同stream,但是返回的是optional对象)

数据转换(同stream,但是返回的是optional对象)

函数式接口

接口中只含有一个抽象方法的接口,接口里也可以有非抽象方法。

方法引用

在这里插入图片描述

高级用法

基本数据类型优化

并行流

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值