在 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);
        }
    }
}