java 有for(;;)和 for(Object obj : List/Array)
最明顯的一個:前者是有范圍;后者是全部。就編碼來說各有好處:for更靈活,foreach更簡便
for和foreach都是java中重要的集合遍歷方法
for循環(huán)中 你可以選擇從前往后遍歷,也可以從后往前遍歷,也可以不遍歷默寫值
但是foreach只能從前往后遍歷,而且每一個都會遍歷一次,他們之間的選擇得看你項目程序中的需求而定JVM在解釋執(zhí)行行,都會將for與foreach解釋成iterator。總結(jié)如下:
1.如果只是遍歷集合或者數(shù)組,用foreach好些,快些。
2.如果對集合中的值進(jìn)行修改,就要用for循環(huán)了。
其實foreach的內(nèi)部原理其實也是Iterator,但它不能像Iterator一樣可以人為的控制,而且也不能調(diào)用iterator.remove();
更不能使用下標(biāo)來訪問每個元素,所以不能用于增加,刪除等復(fù)雜的操作。