1. 程式人生 > >第46條:for-each迴圈優先於傳統的for迴圈

第46條:for-each迴圈優先於傳統的for迴圈

for-each迴圈和傳統的for迴圈相比的優點:1.簡潔性,2.預防bug的優勢,3.無效能損失。因此能夠用for-each的儘量用for-each,不要用for迴圈。collectios和arrays都能使用for-each。只要事先了iterable介面的類都能使用for-each。

但是有些情況下不能使用for-each:1.過濾,要刪除指定的元素時,不能用for-each。2.轉換,但需要遍歷list或者array修改部分或者全部數值的時候,需要記錄起始位置和結束為止的迭代器或索引變數。3.並行迭代,當需要並行迭代不同的集合時,需要迭代器變數或者索引時候,不能用for-each

reference:

effective java 第二版 機械工業出版社