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

Java 流过滤器是否足够智能,可以忽略有序流中不必要的项目吗?

问题

假设我有以下内容:

List<Integer> orderedList = Stream.of(5, 4, 0, 2, 1).sorted().toList();

如果我应用如下过滤器

List<Integer> filteredList = orderedList.stream().filter(integer -> integer < 3).toList();

filter检查中的所有项目orderedList,或者鉴于它是有序的,它将在达到第一个错误条件后停止过滤,即,integer >= 3或者它总是检查所有项目?

如果它检查所有项目,那么在有序列表的情况下,是否有更智能的方法来过滤项目?

解答

在上述的场景中,由于返回一个包含所有与过滤器匹配的元素的列表,filter()因此适用于流中的所有元素。

如果您想在特定条件为真/假时停止处理,可以使用takeWhile()Java 9

orderedList.stream().takeWhile(v -> v < 3).forEach(System.out::println);

http://www.kler.cn/a/286805.html

相关文章:

  • 如何有效使用Python爬虫将网页数据存储到Word文档
  • stm32单片机个人学习笔记14(USART串口数据包)
  • 【深度学习入门】深度学习知识点总结
  • 【玩转全栈】----Django制作部门管理页面
  • 深度学习之使用yolo网络训练kitti数据集:kitti数据集转换为VOC格式
  • 基于微信小程序的健身管理系统设计与实现(LW+源码+讲解)
  • 云计算实训40——部署project_exam_system项目及容器的编排
  • c++ 原型模式
  • 论文速读|通过人类远程操作的深度模仿学习框架:人型机器人的行走操纵技能
  • 【Pytorch】模型权重保存与上传
  • C#上位机采用数据库操作方式对Excel或WPS表格进行读取操作
  • 分布式系统中的Dapper与Twitter Zipkin:链路追踪技术的实现与应用
  • Ai产品经理的探索:技能、机遇与未来展望
  • 支付平台构建支付接口供整个公司调用—支付代理商
  • Git 学习
  • QT Sql 实现多个股票成交明细数据文件制成数据库并支持查询
  • Node原子计数器
  • 数据库性能测试2:内存数据库
  • 基于 Android Studio 实现的 记账本-MySQL版
  • [C#]国密SM2算法加解密字符串加密解密文件
  • 研究生深度学习入门的十天学习计划------第五天
  • 小琳python课堂:Python核心概念 类和对象
  • 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 从不同的来源摄取数据
  • Django+Vue农产品销售系统的设计与实现
  • 理解大模型中的Cursor技术:优化长文本推理的前沿方案
  • 微服务集成 Seata