集合——Iterator接口

Java集合類庫將集合的接口與實現分離。同樣的接口,可以有不同的實現
Java集合類的基本接口是Collection接口。而Collection接口必須繼承java.lang.Iterable接口

Iterator接口概述

對 collection 進行迭代的迭代器
依賴於集合而存在

Iterator接口成員方法

boolean hasNext()
E next()

Iterator接口的着三個方法,實現遍歷ArrayList類型

一開始迭代器在所有元素的左邊,調用next()之後,迭代器移到第一個和第二個元素之間,next()方法返回迭代器剛剛經過的元素
hasNext()若返回True,則表明接下來還有元素,迭代器不在尾部
remove()方法必須和next方法一起使用,功能是去除剛剛next方法返回的元素

如果Collection直接繼承Iterator接口,勢必導致集合對象中包含當前迭代位置的數據(指針)
當集合在不同方法間被傳遞時,由於當前迭代位置不可預置,那麼next()方法的結果會變成不可預知
除非再爲Iterator接口添加一個reset()方法,用來重置當前迭代位置
但即時這樣,Collection也只能同時存在一個當前迭代位置
而Iterable則不然,每次調用都會返回一個從頭開始計數的迭代器
多個迭代器是互不干擾的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章