2013-09-29 42 views
1

我們都知道這一段代碼:使用Iterable來迭代ArrayList?

ArrayList<String> str1 = new ArrayList<String>(); 
for(String str: str1) { 
    // code goes here 
} 

這種增強的for循環使用一個可迭代,而不是Iterator遍歷。但我沒有看到ArrayList延伸Iterable。誰能告訴我爲什麼會發生這種情況?

+3

該文檔(http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html)在清楚地表明'Interable '它實施的清單。 – Gabe

+0

它是「語法糖」,所以即使是像數組這樣的東西,也不一定需要綁定到特殊結構 – clwhisk

+0

您沒有找到它在哪裏? Javadoc和'javap'都表示它確實擴展了'Iterable'。 – EJP

回答

11

ArrayList延伸AbstractList它實現Iterable

+0

ArrayList也實現了List,它擴展了Iterable。 –