重学Java之for循环

Java提供了三种不同的for循环方式:

  • fori
  • foreach
  • Stream.foreach

fori

java 复制代码
for (int i = 0; i < arrayList.size(); i++) {
    // 执行操作
}

fori是Java最早的for循环形式。随着Java语法的不断改进以及JDK 8的推出,这种方式在实际企业开发中并不常见,大多出现在传统的大学教材中。如今,甚至阿里巴巴的代码检测插件也建议将fori形式转换为foreach形式。

foreach

java 复制代码
for (String s : arrayList) {
    // 执行操作
}

也称为增强for循环,是对fori的语法糖。在编译时,foreach会自动转换为fori的形式。

Stream.foreach

java 复制代码
arrayList.forEach(array -> {
    // 执行操作
});

这是在JDK 1.8之后引入的一种for循环方式,结合lambda表达式使用。代码更加简洁,可以与其他新特性配合使用,以最简洁的形式完成复杂操作。但需要注意,使用该方式时,returnbreak不能像前两种方式那样达到同样的目的。

代码测试

java 复制代码
ArrayList<Integer> integers = Lists.newArrayList(1, 2, 3, 4, 5);
integers.forEach(i -> {
	if (i == 2) {
		System.out.println(i);
		return;
	}
	System.out.println("当前值" + i);
});

for (Integer i : integers) {
	if (i == 2) {
		System.out.println(i);
		continue;
	}
	System.out.println("当前值" + i);
}
}

在Stream.foreach中,无法使用break 关键字。然而,可以使用return来跳出当前循环。

后续内容文章持续更新中...

近期发布。


关于我

👋🏻你好,我是Debug.c。微信公众号:种棵代码技术树 的维护者,一个跨专业自学Java,对技术保持热爱的bug猿,同样也是在某二线城市打拼四年余的Java Coder。

🏆在掘金、CSDN、公众号我将分享我最近学习的内容、踩过的坑以及自己对技术的理解。

📞如果您对我感兴趣,请联系我。

若有收获,就点个赞吧,喜欢原图请私信我。

相关推荐
架构师沉默1 天前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群1 天前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL1 天前
JVM 类加载:双亲委派机制
java·后端
用户298698530141 天前
Java HTML 转 Word 完整指南
java·后端
渣哥1 天前
原来公平锁和非公平锁差别这么大
java
渣哥1 天前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K1 天前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7251 天前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
isysc11 天前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到1 天前
Java 反射现代实践速查表(JDK 11+/17+)
java