为了账号安全,请及时绑定邮箱和手机立即绑定
  • 转换成集合

    查看全部
  • 转换成列表:stream.collect(Collectors.toList());

    注意需要进行一次强制类型转换

    查看全部
  • stream对象一旦被关闭,其内部就不在有数据了,不能在对其做任何操作了

    toArray是结束操作符

    查看全部
  • 转化为字符串

    stream.collect(Collectors.joining).toString()

    查看全部
  • Stream对象 --> 转换得到其他类型

    转为数组类型

    1. stream.toArray()

    2. stream.toArray(String[]::new) // 方法引入的方式

    查看全部
  • Stream对象对于基本数据类型的功能封装:目前支持了int/long/double类型的底层优化

    IntStream.of(new int[] {10,20,30}).forEach(System.out::println)

    IntStream.range(1,5).forEach(System.out::println) //包含1 不包含5

    IntStream.rangeClosed(1,5).forEach(System.out::println) //包含1 也包含5


    查看全部
  • Map转化为Stream的方式

    通过map对象的.entrySet().stream() 得到Stream对象

    查看全部
  • 列表和集合转换为Stream的方式

    列表或集合对象的.stream()方法即可返回Stream对象

    查看全部
  • 批量数据对象(包含各种形式) 转换为Stream对象

    多个数据转换Stream

    Stream Stream = Stream.of("A","B","C") 

    数组

    String [] strArrays = new String[]{"A","B","C"}

    Stream stream = Arrays.stream(strArrays)

    查看全部
  • 操作集合元素-类型转换:

    1. 其他类型(创建、获取)->Stream对象 

    2. Stream 对象-> 其他类型

    3. 常见API操作

    查看全部
  • 终结操作:短路操作->当前的Stream对象在处理过程中,一旦满足某个条件,就可以得到结果

    包括: anyMatch/AllMatch/noneMatch/findfirst/findAny等

    short-circuiting : 在无限大的stream 中返回有限大的stream 需要包含短路操作是有必要的

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

    2019-12-05

  • 终结操作:非短路操作->当前的Stream对象必须处理完集合中所有的数据,才能得到处理结果

    包括:forEach/forEachOrdered/toArray/reduce/collect/min/max/count/iterator等等


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

    2019-12-05

  • 终结操作|结束操作{Terminal}:一个steam对象只能有一个中间操作。

    这个操作不可逆,一旦发生,就会真实处理数据生成对应结果


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

    2019-12-05

  • 中间操作:

    操作结果是一个Stream对象,所以中间操作可有一个或多个连续的中间操作,需要注意的是中间操作只记录操作方式,不做具体执行,直到结束操作发生时,才做数据的最终执行。

    中间操作就是业务逻辑处理,操作过程分为有状态和无状态

    无状态中间操作:即处理数据时,不收前置中间操作的影响

        包括: map/filter/peek/parallel/sequential/unordered

    有状态中间操作:即处理数据时,受前置中间操作的影响

        包括:distinct/sorted/limit/skip

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

    2019-12-05

  • 1.聚合操作:

    2.Stream的处理流程

        数据源

        数据转换[可一到多次转换]

        获取结果

    3. 获取Stream对象

        a.从集合中或者数组中获取

            Collection.stream() 如:list.stream()

            Collection.paralletStream() 获取集合的支持并发处理的stream对象

            从数组中获取stream对象的方法

            Arrays.stream(数组对象) 

        b.从BufferReader缓冲流中获取stream对象

            BufferReader.lines() -> stream()

        c. 通过静态工厂方法

            java.util.stream.IntStream.range() 直接获取stream对象

            java.nio.file.Files.walk()

        d.自行构建

            java.util.Spliterator

         e.其他方法

            如 Random.ints() / Pattern.splitAsStream()

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

    2019-12-05

举报

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

微信扫码,参与3人拼团

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

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