学无先后,达者为师

网站首页 编程语言 正文

Stream的源码简单解析

作者:iuie_sl 更新时间: 2022-07-13 编程语言

分析下面的代码

 List<Integer> red = apples.stream().filter(k -> {
              System.out.println("filter");
              return k.getColor().equals("red");
          }).map(k -> {
             System.out.println("map");
             return k.getWeight();
          }).collect(Collectors.toList());
  1. 通过StreamSupport 创建ReferencePipeline.Head, 返回Stream

在这里插入图片描述
2. 然后调用ReferencePipeline的filter
在这里插入图片描述
3. 调用map和filter差不多
4. 最后调用collect, 并且传入收集器
在这里插入图片描述

流程图大概如下
在这里插入图片描述

关系类图
在这里插入图片描述

原文链接:https://blog.csdn.net/iuie_sl/article/details/124998316

栏目分类
最近更新