You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中含冒号的for循环语法疑问求助

Java增强for循环(for-each)语法说明

你遇到的带冒号的for循环是Java 5开始引入的增强for循环,也常被称为for-each循环,专门用来简化集合或数组的遍历操作,不用手动维护索引变量。

语法拆解

针对你给出的代码:

for (int u: adjList.get(v))
{ 
    instruction 
}
  • int u:声明一个与遍历目标元素类型匹配的局部变量,每次循环时,会把集合里的下一个元素赋值给u(这里adjList.get(v)返回的是List<Integer>,int会自动拆箱接收包装类Integer的值)。
  • adjList.get(v):这是你要遍历的目标集合——从adjList(应该是List<List<Integer>>类型,也就是列表的列表)中取出索引为v的子列表,循环会依次遍历这个子列表里的每一个元素。

和传统for循环的等价写法

这段增强for循环完全等价于下面的传统for循环逻辑:

List<Integer> targetList = adjList.get(v);
for (int i = 0; i < targetList.size(); i++) {
    int u = targetList.get(i);
    // instruction
}

使用注意事项

  • 增强for循环更适合只需要遍历元素、不需要操作索引的场景,代码更简洁易读。
  • 如果需要在循环中修改集合元素(比如通过索引替换元素)、或者需要用到索引做额外逻辑,还是用传统for循环更灵活。

内容的提问来源于stack exchange,提问作者kirilinko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:15:41