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

简单的网站怎么做网站建设服务方案ppt

简单的网站怎么做,网站建设服务方案ppt,wordpress 公众号 获取密码,网站模板怎么修改logo在日常开发中,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/586682.html

相关文章:

  • 试分析网站推广和优化的原因电子商务网站建设报价表
  • 做网站全屏图片拉长代码wordpress修改地址后
  • 服务好的南昌网站设计如何做兼职网站平台
  • 论坛网站 备案wordpress 资讯类 模版
  • 网站建设公司兴田德润i简介现在免费的外贸平台有哪些
  • 外贸网站建设 翻译军事新闻内容摘抄
  • 鄂州做网站的公司农业网站建设策划书
  • 涉县网站安徽服装网站建设
  • 一个可以做行程的网站专业仿站网站建设
  • 深圳网站建设选哪家计算机编程入门教学视频教程
  • 北京建设公司网站wordpress 导航地图
  • 深圳营销型网站建设 龙华信科如何做网站数据报表
  • 网站功能模块报价aso关键词排名优化是什么
  • html5博客网站模板云主机玩游戏怎么样
  • wordpress站点信息修改版权在国外做网站网站犯法吗
  • 网站建设市场报价网站建设公众号管理
  • 上海门户网站怎么登录东西湖建设局网站
  • 什么网站做英语翻译练习不关闭网站备案
  • 网站制作常见问题上海快速建站平台
  • 安全员怎么网站中做备案搜狗网站入口
  • 网站流量如何盈利开发网站软件
  • 网站板块的策划方案国家重点项目建设库网站
  • 直通车关键词怎么选 选几个桌子seo关键词
  • 文明网站建设总结网站套餐报价 模版
  • 化工网站关键词优化厦门公司网页制作
  • 响应式 网站 设计软件seo搜索排名优化
  • 海宁市住房与建设规划局网站制作钓鱼网站属于什么罪
  • 影视网站视频接口怎么做圣沃建设集团官方网站
  • 凡科可以做返利网站吗新品牌推广方案
  • 网站根目录 本地共享提供建站服务的网络公司的比较