重学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、公众号我将分享我最近学习的内容、踩过的坑以及自己对技术的理解。

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

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

相关推荐
NE_STOP8 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室13 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风15 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme15 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better15 小时前
学会与虚拟机对话---ASM
java
开源之眼17 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31618 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户9083246027318 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋19 小时前
DecimalFormat 与 BigDecimal
java·后端
beata19 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端