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

松原市建设局网站投诉中心怎么注册网络平台

松原市建设局网站投诉中心,怎么注册网络平台,wordpress自己的网页,茶文化网站开发在日常开发中,Stream API 提供了一种高效且易于使用的工具集来处理集合数据。 本文主要讲解 Stream 的两个特性:惰性执行,不修改原始数据源。 为什么说这两个、而不讲下其他的特性呢?主要是因为在开发中如果忽略这两个特性的话&…

在日常开发中,Stream API 提供了一种高效且易于使用的工具集来处理集合数据。

本文主要讲解 Stream 的两个特性:惰性执行不修改原始数据源

为什么说这两个、而不讲下其他的特性呢?主要是因为在开发中如果忽略这两个特性的话,使用 Stream 写出来的代码就可能 Bug 多多啊,因此在这里特别强调下。

1.惰性执行

1.1.说明

惰性执行 意味着 Stream 的中间操作(intermediate operations,如filter, map)不会立即执行,而是在遇到终止操作(terminal operations,如forEach, collect)时才会触发。

1.2.反例

考虑以下代码:
List<String> words = Arrays.asList("apple", "banana", "cherry");
words.stream().filter(word -> {System.out.println("Filtering: " + word);return word.startsWith("a");});

以上代码执行后并不会有打印输出,这是因为尽管调用了中间操作 filter,但是 filter 后并没有调用终止操作的方法。

1.3.正确使用

应该习惯性地在流操作的最后,都调用一个终止操作

例如:

words.stream().filter(word -> word.startsWith("a")).forEach(System.out::println);

1.3.1.如何区分中间操作和终止操作

这其实很简单,如果一个方法的返回结果为一个新的流 (Stream),那么它是中间操作,否则就是终止操作。

2.不修改原始数据源

2.1.说明

Stream 的操作并不会改变原始数据,Stream 操作都是基于原始数据创建新的结果

2.2.反例

假设有如下代码:
List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3));
numbers.stream().map(n -> n * 2).collect(Collectors.toList());System.out.println(numbers); // 输出 [1, 2, 3]

可能有人会错误地认为,Stream 操作执行后,numbers列表的元素会发生改变,然后就把numbers作为计算后的结果接着往下执行逻辑。

但实际上,Stream 操作的结果是生成了一个新的集合,而原始的集合numbers保持不变。

2.3.正确使用

应该用一个新对象接收 Stream 操作的结果,后续如果需要使用计算后的结果,使用的应该是这个新的对象,而不是原始的数据集合。

List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3));
List<Integer> doubledNumbers = numbers.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(doubledNumbers); // 输出 [2, 4, 6]

又或者,可以直接用 Stream 操作的结果覆盖掉原始的数据对象。

List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3));
numbers = numbers.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(numbers); // 输出 [2, 4, 6]

如果有帮助的话,可以点个赞支持一下嘛🙏

http://www.dtcms.com/wzjs/782165.html

相关文章:

  • 中建八局土木建设有限公司网站wordpress主页空白
  • 企业门户网站建设 验收商务网站建设与管理实训总结
  • 天津网站制作系统代理免费注册公司
  • 网站建设新闻+常识凡科互动小程序怎么解封
  • 无锡网站商城建设建筑设计网站issuu
  • 整合营销网站提供网站建设的各类服务
  • 能制作网站的软件找印度人做网站
  • android高级开发seo关键词挖掘
  • 那片海dede织梦源码企业网络公司工作室网站模板源码模板php校园活动策划
  • 泰安网站建设泽讯周村网站建设yx718
  • 网站建设与网络编辑课程心得wordpress做seo合适吗
  • 单位网站服务的建设及维护弋阳网站建设制作
  • 怎么开一个做网站的工作室网页设计宣传海报素材
  • 大悟网站开发海南房产
  • 网站建设与维护蒋勇从门户网站建设工作方案
  • 深圳建设交易信息网站全国企业信用公示信息公示网官网
  • 个人网站模板html 下载腾讯云买域名
  • 青海省住房和城乡建设厅网站首页小程序是怎么制作出来的
  • 网站做建筑三维图如何制作网站后台管理系统
  • 班级网站布局wordpress配置虚拟主机
  • 中国建设工程造价协会网站辽宁工程建设工程信息网
  • 立网站系学校网站建设案例
  • 网站的免费空间是什么seo常用优化技巧
  • 成功案例展示网站58同城做网站的电话
  • 徐州开发区中学网站网站建设不能持续消费
  • 企业网站的建设一般要素有平面设计软件学哪个比较好
  • 定制网站开发成本估算表专门帮做ppt的网站吗
  • 上海交通大学网站建设怎么将自己做的网站放到网上
  • 网站 主办单位性质 个人快速做网站公司报价
  • ps怎么做网站界面设计商城网站带宽控制