首先想知道你確定自己的迭代栗子時java的么?我怎么記得Java中的迭代式類似如下面的代碼:for(Stringstr:list){System.out.println(str);//逐個輸出數(shù)組元素的值}遍歷:對于集合數(shù)據(jù)而言,訪問所有的數(shù)據(jù)即為遍歷。遍歷的方法可以用遞歸或者迭代。迭代:一般是用同一個參數(shù)來表示每個集合元素,用循環(huán)來實現(xiàn)。個人感覺不必背下來兩者的概念,而是要知道兩者的區(qū)別。在《EffectiveJava》中,作者推薦“使用for-each循環(huán)優(yōu)先于傳統(tǒng)的for循環(huán)”(第二版第46條)。主要原因如下:a).索引變量i出現(xiàn)三次,容易出錯;b).有些情況下,有一定性能優(yōu)勢,對邊界值只計算一次;c).代碼更加簡潔;d).可以預防Bug。但是有些情況是不能使用for-each循環(huán)的:a).過濾--如果需要遍歷集合,并刪除元素,需要顯式的迭代器,以便可以調(diào)用它的remove方法。b).轉(zhuǎn)換--如果需要遍歷列表或者數(shù)組,并取代它部分或者全部的元素值,就需要列表迭代器或者數(shù)組索引,以便設定元素的值。c).平行迭代--并行遍歷多個集合,就需要顯式控制迭代器或者索引變量,以便所有迭代器或者索引變量都可以得到同步前移。更多的話樓主還是去看一下原書吧~