java 有for(;;)和 for(Object obj : List/Array)
最明显的一个:前者是有范围;后者是全部。
就编码来说各有好处:for更灵活,foreach更简便
for和foreach都是java中重要的集合遍历方法
for循环中 你可以选择从前往后遍历,也可以从后往前遍历,也可以不遍历默写值
但是foreach只能从前往后遍历,而且每一个都会遍历一次,他们之间的选择得看你项目程序中的需求而定
JVM在解释执行行,都会将for与foreach解释成iterator。
总结如下:
1.如果只是遍历集合或者数组,用foreach好些,快些。
2.如果对集合中的值进行修改,就要用for循环了。
其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为的控制,而且也不能调用iterator.remove();
更不能使用下标来访问每个元素,所以不能用于增加,删除等复杂的操作。