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();
更不能使用下標來訪問每個元素,所以不能用于增加,刪除等復雜的操作。