当前位置: 首页 > news >正文

简单聊聊【java.util.Stream】,更新中

public class Main {public static void main(String[] args) {List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);    // 原始容器:java.util.Arrays.ArrayList#ArrayList// 创建一个 Stream,过滤出偶数,并打印它们numbers.stream() // ReferencePipeline.Head容器(里面会套一层ArraySpliterator,形如XxxSplilterator).filter(n -> n % 2 == 0) // filter的结果已经变成了StatelessOp类.map(t -> t) // map的结果也是StatelessOp类// 查看了flatMap底层的处理,发现就是多处理了一层。那么我们可以用多个flatMap处理3层,4层的Stream。.flatMap(t -> Stream.of(t)) // flatMap的结果也是StatelessOp类.forEach(System.out::println); // 执行的是StatelessOp类的forEach方法}
}
  • Arrays.asList底层是Arrays类中的一个内部类ArrayList(不是java.util.ArrayList是,虽然都叫做ArrayList)
  • xxx.stream()代码的作用一般都是把数据对象封装成ReferencePipeline.Head对象(该对象中已经包括了数据)
  • filter方法,对一个一个StatelessOp类
  • map方法,对应一个StatelessOp类
  • flatMap方法,也对应一个StatelessOp类。备注:flatMap一般用来处理多层的,如:Stream[][],2层,3层,n层都可以
http://www.lryc.cn/news/370060.html

相关文章:

  • GIS之arcgis系列07:conda环境下安装arcpy环境
  • 容器运行nslookup提示bash: nslookup: command not found【笔记】
  • 解析 Spring 框架中的三种 BeanName 生成策略
  • 细说ARM MCU的串口接收数据的实现过程
  • 000-基于sklearn的机器学习入门:工作环境搭建与配置
  • 就业班 第四阶段(k8s) 2401--6.5 day3 Yaml语法解析+钩子函数
  • 电脑开机出现英文字母,如何解决这个常见问题?
  • 一张试卷
  • 记一次 .NET某游戏币自助机后端 内存暴涨分析
  • 计算机考研|哪些985/211院校不歧视双非二本生?
  • Spring Boot:简化 Java 应用开发的艺术
  • elasticsearch安装与使用(2)-基于term匹配的简单搜索引擎搭建
  • 速盾:ddos防护与高防ip区别?
  • Java中StringBulider详解
  • 基于springboot高校就业招聘系统的设计
  • 嵌入式C语言编码规范要点
  • Python中的全局解释器锁:深入解析与应对策略
  • 【java计算机毕设】图书商城管理系统MySQL springboot vue html maven送文档
  • 【Java刷题】二叉树
  • 【Linux】程序地址空间之动态库的加载
  • LabVIEW处理大量数据时,怎样确保数据的准确性和完整性?
  • 容器是什么?
  • #15 从Stable Diffusion生成的艺术中寻找灵感
  • git rebase
  • Docker引起的漏洞问题
  • Oracle基本数据类型
  • VS+QT+OCC创建坐标界面
  • VUE2.7项目配置webpack打包-详细操作步骤
  • Linux系统Docker部署Apache Superset并实现远程访问详细流程
  • Cochrane Library循证医学数据库的介绍及文献下载