是誰實(shí)現(xiàn)了Iterator接口?
如果應(yīng)用Java集合框架,很多時(shí)候都會(huì)用到Iterator接口類型的對象對集合中的元素進(jìn)行遍歷。但尋遍Java API幫助文檔,卻找不到任何類實(shí)現(xiàn)了Iterator接口。那么到底是誰實(shí)現(xiàn)了這個(gè)接口呢?其實(shí),因?yàn)椴煌蠈?shí)現(xiàn)類后臺(tái)工作的數(shù)據(jù)結(jié)構(gòu)有所不同,所以沒有辦法用一個(gè)類來實(shí)現(xiàn)Iterator接口,可以使之適用于所有集合。這樣,實(shí)現(xiàn)Iterator接口的任務(wù)就落到了集合實(shí)現(xiàn)類自己身上。
由于實(shí)現(xiàn)了Iterator接口的類僅與具體的集合實(shí)現(xiàn)類有關(guān),所以這個(gè)類被設(shè)計(jì)成了私有的內(nèi)部類,也正因?yàn)檫@樣我們在幫助文檔中看不到這個(gè)類的說明。
下面以數(shù)組實(shí)現(xiàn)的線性表為例,做一個(gè)簡單的演示,相信看過了這段代碼,大家就會(huì)清楚了。
說明:我們這里主要是講解Iterator接口的使用,所以在這個(gè)例子中只提供了add和get兩個(gè)方法,以減少代碼,便于大家閱讀。









































private class Itr implements Iterator {
int count = 0;












}


----------------------------------
把人做到寬容,把技術(shù)做到強(qiáng)悍。
posted on 2008-03-28 12:29 OldBoy 閱讀(879) 評論(2) 編輯 收藏 所屬分類: Java基礎(chǔ)