? ? ? ?在容器類中,需要取回其中的元素,但是,缺點(diǎn)就是:當(dāng)使用容器,必須要對容器的確切類型編程。迭代器時(shí)一個(gè)對象,它時(shí)遍歷并選擇序列中的對象,不必關(guān)心改序列底層的結(jié)構(gòu)。而且創(chuàng)建迭代器的代價(jià)小,被稱為輕量級對象。
? ? ? ? java的迭代器只能單向移動(dòng),其中的方法有:
? ? ? ?1.使用next() 獲得下一個(gè)元素
? ? ? ?2.使用hasNext()檢查序列中是否還有元素
? ? ? ?3.使用remove()將迭代器新近返回的元素刪掉
ListIterator
? LIstIterator是Iterator的子類型,只能適用于各種list類的訪問。ListIterator能夠雙向移動(dòng),
?add() :可以向List中添加對象
?hasPrevious()和previous()方法:可以實(shí)現(xiàn)逆向(順序向前)遍歷
nextIndex()和previousIndex()方法:定位當(dāng)前的索引位置
set()方法:實(shí)現(xiàn)對象的修改
nextIndex():返回列表中ListIterator所需位置后面元素的索引