在 for 迴圈中使用 Iterable

實現 Iterable<> 介面的類可以在 for 迴圈中使用。這實際上只是從物件獲取迭代器並使用它來順序獲取所有元素的語法糖 ; 它使程式碼更清晰,編寫速度更快,更不容易出錯。

public class UsingIterable {

    public static void main(String[] args) {
        List<Integer> intList = Arrays.asList(1,2,3,4,5,6,7);
        
        // List extends Collection, Collection extends Iterable
        Iterable<Integer> iterable = intList;
        
        // foreach-like loop
        for (Integer i: iterable) {
            System.out.println(i);
        }
        
        // pre java 5 way of iterating loops
        for(Iterator<Integer> i = iterable.iterator(); i.hasNext(); ) {
            Integer item = i.next();
            System.out.println(item);
        }
    }
}