java中list.forEach()和list.stream().forEach()的区别是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了java中list.forEach()和list.stream().forEach()的区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java
千家信息网最后更新 2025年01月19日java中list.forEach()和list.stream().forEach()的区别是什么
这篇文章主要介绍了java中list.forEach()和list.stream().forEach()的区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java中list.forEach()和list.stream().forEach()的区别是什么文章都会有所收获,下面我们一起来看看吧。
首先,它们的功能都是遍历数组每个元素并执行入参的accept()方法,但是它们的实现方式却不一样,在一些特定的情况下,执行会出现不同的结果。
在大多数情况下,两者都会产生相同的结果,但是,我们会看到一些微妙的差异。
概述
首先,创建一个迭代列表:
Listlist = Arrays.asList("A","B","C","D");
最直接的方法是使用增强的for循环:
for(String s : list"){ //something}
如果我们想使用函数式Java,我们也可以使用forEach()。我们可以直接在集合上这样做:
Consumerconsumer = s -> {System.out::println};list.forEach(consumer);
或者,我们可以在集合的流上调用forEach():
list.stream().forEach(consumer);
两个版本都将迭代列表并打印所有元素:
ABCD ABCD
在这个简单的例子中,我们使用的forEach()没有区别。
区别
list.forEach()使用增强for循环
default void forEach(Consumer super T> action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } }
list.stream().forEach(): 它首先将集合转换为流,然后对集合的流进行迭代
当一边遍历一边删除的时候,forEach能够快速失败,而stream().forEach()只有等到数组遍历完之后才会抛异常
public class DeleteDifference { public static void main(String[] args) { Listlist = Arrays.asList("A", "B", "C", "D"); try { list.forEach(item -> { System.out.println(item); list.remove(0); }); } catch (Exception e) { e.printStackTrace(); } list.stream().forEach(item -> { System.out.println(item); list.remove(0); }); }}
关于"java中list.forEach()和list.stream().forEach()的区别是什么"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"java中list.forEach()和list.stream().forEach()的区别是什么"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
知识
迭代
元素
内容
情况
数组
方法
篇文章
结果
循环
不同
微妙
相同
两个
价值
例子
函数
功能
只有
差异
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏地理实体数据库建设8大类
跨网段访问服务器
温州现金贷软件开发公司吗
网络安全成瘾
网络安全法第68条规定处罚
服务器安全免责协议
数据库敏感信息加密还是明文
诺基亚网络安全提示怎么关闭
应援站的数据库怎么弄
北京长河郎锐网络技术
快速免备案服务器
阿里云服务器可以预存资金吗
什么是应用程序和数据库
服务器抽风了是什么
优秀文档管理软件开发
摩尔庄园数据库丢失
大学生网络安全教育定义
广州新媒体网络技术有限公司
网络安全治理平台架构图
条码数据库是什么数据库
我的世界斗罗大陆服务器开局
农村网络安全宣传总结
2018年 网络安全自查
网络安全盾牌彩色简笔画
软件开发项目开发成本表格
襄阳公司 网络技术支持
海南盘古网络技术有限公司
济南专业软件开发公司哪家好
sql服务器模式
燕郊服务器回收多少钱