Stream 流

1.stream.forEach() 与 collection.forEach()

虽然都是迭代方法,但执行结果完全不同。

List strl=Arrays.asList("aaa","bb","c","wwww","hh");

Stream.of(strl).forEach(System.out::println);------------------------------------------------------>①System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");strl.stream().forEach(System.out::println);-------------------------------------------------------->②System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");strl.forEach(System.out::println);----------------------------------------------------------------->③

输出结果如下:

[aaa, bb, c, hh, wwww]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
aaa
bb
c
hh
wwww
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
aaa
bb
c
hh
wwww

虽然idea提示 第②行可以简写为第三行的形式,但是

①②中的forEach()指向Stream接口,而③中的forEach()指向Iterable接口.

查看可知:

①中 Stream接口的of()方法返回的是一个仅有一个元素的Stream

Returns a sequential {@code Stream} containing a single element.

而②中.Stream()方法返回的是一个使用分割迭代器分割后的到的Stream
/** * Returns a sequential {@code Stream} with this collection as its source. * * This method should be overridden when the {@link #spliterator()} * method cannot return a spliterator that is {@code IMMUTABLE}, * {@code CONCURRENT}, or late-binding. (See {@link #spliterator()} * for details.) * * @implSpec * The default implementation creates a sequential {@code Stream} from the * collection's {@code Spliterator}. * * @return a sequential {@code Stream} over the elements in this collection * @since 1.8 */

故①与②内部迭代得到的结果不一样。

Original: https://www.cnblogs.com/wanghuanyeah/p/11780988.html
Author: wanghuanyeah
Title: Stream 流

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586199/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 微服务-Nacos配置管理之配置热更新

    前言:Nacos不仅可以作为注册中心,还可以作为配置中心,这点优于eureka。这里介绍一下Nacos的配置热更新方法 Nacos配置热更新 我们引入Nacos配置中心的最终目的,…

    Java 2023年6月9日
    098
  • Win10下VMware Workstation 16 Pro最小化安装CentOS 7

    参考: https://blog.csdn.net/qq_36059561/article/details/118072396 Original: https://www.cnbl…

    Java 2023年5月29日
    083
  • Excel作为数据源的调用方法与数据文件说明

    感谢各位对我们规划平台的支持,对于小伙伴们提出的宝贵建议我们会收集起来,整理成改进清单。基于这个清单实现并发布对应的功能。这新发布的具有通用性的功能都会纳入我们的通用版本中。选择了…

    Java 2023年6月16日
    084
  • R2DBC正式孵化成功,利好Spring Webflux

    2022年4月25日, R2DBC社区宣布具有普遍可用性的 1.0.0.RELEASE正式发布。 R2DBC致力于为反应式编程 API操作关系型数据库带来规范支持, R2DBC不同…

    Java 2023年6月8日
    094
  • 如何去官网下载JDK (JDK8 JDK1.8)

    posted @2022-01-12 16:23 戈博折刀 阅读(119 ) 评论() 编辑 Original: https://www.cnblogs.com/libin6505…

    Java 2023年5月30日
    095
  • Python基本语法学习

    CSN Python学习作业 Python的变量不需要声明,但每个变量在使用前都必须赋值。在Python中,变量就是变量,它没有所谓的”类型”一说 Pyth…

    Java 2023年6月7日
    057
  • window10 nginx配置静态文件404失效问题记录

    今天在win10环境下nginx配置静态文件的时候,一直返回404. 检查了半天配置,发现没问题。 后面我用任务管理器,找到nginx服务,停止,然后重启。就ok了。 右键-停止-…

    Java 2023年5月30日
    062
  • Java: Visitor Pattern

    调用: 输出: Original: https://www.cnblogs.com/geovindu/p/16743696.htmlAuthor: ®Geovin Du Dream…

    Java 2023年6月16日
    090
  • 0、编程入门

    0、编程入门 1、概述 计算机包括硬件和软件两部分。 硬件:可看见的物理部分; 软件:看不见的指令。 程序设计 定义:开发软件。 应用场景:淘宝、京东等软件。 程序设计语言 帮助开…

    Java 2023年6月13日
    073
  • MVC三层架构

    MVC三层架构 什么是MVC:model view controller 模型、视图、控制器 大致框架: Model 业务处理:业务逻辑(service) 数据持久层:CRUD(D…

    Java 2023年6月13日
    073
  • SpringCloud是什么?

    参考链接: http://blog.csdn.net/forezp/article/details/70148833 一、概念定义 Spring Cloud是一个微服务框架,相比D…

    Java 2023年5月30日
    081
  • 原型模式详解

    原型模式 1.1原型模式概述 1.1.1原型模式定义 原型模式(Prototype Pattern)指原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象,属于创建型设计模…

    Java 2023年6月7日
    0114
  • 二分查找有序数组中的特定值

    1、题目背景 给定一个n个元素有序的(升序)整型数组nums和一个目标值target写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1 2、代码实现 pu…

    Java 2023年6月8日
    089
  • 一些自用的可能用到的网站资料

    maven的卸载、重新安装与配置:https://www.cnblogs.com/helong-123/p/15903756.html posted @2022-04-06 14:…

    Java 2023年6月5日
    091
  • Java基础 awt Font 四种字体样式

    JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code packag…

    Java 2023年5月29日
    0127
  • 这个开源组织里的项目都是精品

    前言 在开源中国里,不知道大家有没有留意到一个Java开源组织——Dromara? 这个组织是由Apache ShenYu(前身是Soul网关)的作者创立,多位Java开源作者参与…

    Java 2023年6月8日
    078
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球