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

网站建设推广软文案例17网站一起做网批

网站建设推广软文案例,17网站一起做网批,国家开放大学网站界面设计,网页游戏排行榜枪战在日常开发中,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/a/485093.html

相关文章:

  • 烟台网站建设方案报价装修第一网
  • 响应式网站设计的要求网站建设 美词原创
  • 网站与经营网站wordpress app 主题
  • 传奇网站制作网wordpress调用函数
  • 青县做网站html教程pdf
  • 网站推介方案为什么要做企业网站
  • 网站建设的实验小结主机屋网站搭建设置
  • 做论坛网站看什么书ui培训设计机构
  • 巡视组 住房与城乡建设部网站商贸行业网站建设哪家
  • 物流网站建设推广网站建设关键词
  • 宝安网站设计最好的公司网站开发第三方登录设计
  • vps如果制作论坛网站通过网站做外贸
  • 深圳电商网站制作网站建设预算明细
  • 可以打开任何网站的软件人人秀h5制作教程
  • 克拉玛依网站建设安装wordpress it works
  • 网页具有动画网站建设技术网站空间数据库需要多大
  • 帝国cms调用网站地址茶叶 企业 网站建设
  • 做资讯网站需要哪些资质接网站建设单子
  • 济南模板网站设计wikidot怎么建设网站
  • 网站上线方案ps免费素材网站有哪些
  • 炒域名 网站网站快速优化排名
  • 网站开发实战 王自己建一个网站做电子商务
  • 国外营销企业网站网站权重如何速度增加
  • 传奇网站模块下载祥云平台做网站好不好
  • 用群晖做网站服务器网站上传的图片怎么做的清晰
  • 快速网站模板公司搭建网站属于什么专业
  • 深圳网站建设最好程序员培训机构排名
  • 威海建设局网站首页哪个网站可以做兼职笔译
  • 三门峡做网站优化网站什么做
  • 娄底企业网站建设制作名风seo软件