java中treeset的用法 什么是迭代器?
什么是迭代器?簡(jiǎn)介: 迭代器(iterator)有時(shí)又稱游標(biāo)(cursor)是程序設(shè)計(jì)的軟件設(shè)計(jì)模式,可在容器(container,例如鏈表或陣列)上遍訪的接口,設(shè)計(jì)人員無需關(guān)心容器的內(nèi)容。 1.功能
什么是迭代器?
簡(jiǎn)介: 迭代器(iterator)有時(shí)又稱游標(biāo)(cursor)是程序設(shè)計(jì)的軟件設(shè)計(jì)模式,可在容器(container,例如鏈表或陣列)上遍訪的接口,設(shè)計(jì)人員無需關(guān)心容器的內(nèi)容。
1.功能: 迭代器使開發(fā)人員能夠在類或結(jié)構(gòu)中支持foreach迭代,而不必整個(gè)實(shí)現(xiàn)IEnumerable或者IEnumerator接口。只需提供一個(gè)迭代器,即可遍歷類中的數(shù)據(jù)結(jié)構(gòu)。當(dāng)編譯器檢測(cè)到迭代器時(shí),將自動(dòng)生成IEnumerable接口或者IEnumerator接口的Current,MoveNext和Dispose方法。
2.特點(diǎn): (1)迭代器是可以返回相同類型值的有序序列的一段代碼。 (2)迭代器可用作方法、運(yùn)算符或get訪問器的代碼體。 (3)迭代器代碼使用yieldreturn語句依次返回每個(gè)元素,yield break將終止迭代。 (4)可以在類中實(shí)現(xiàn)多個(gè)迭代器,每個(gè)迭代器都必須像任何類成員一樣有惟一的名稱,并且可以在foreach語句中被客戶端,代碼調(diào)用如下所示:foreach(int x in SimpleClass.Iterator2){}。 (5)迭代器的返回類型必須為IEnumerable和IEnumerator中的任意一種。
什么是迭代器iterator?
迭代器(Iterator)
迭代器是一種設(shè)計(jì)模式,它是一個(gè)對(duì)象,它可以遍歷并選擇序列中的對(duì)象,而開發(fā)人員不需要了解該序列的底層結(jié)構(gòu)。
迭代器通常被稱為“輕量級(jí)”對(duì)象,因?yàn)閯?chuàng)建它的代價(jià)小。Java中的Iterator功能比較簡(jiǎn)單,并且只能單向移動(dòng):
(1) 使用方法iterator()要求容器返回一個(gè)Iterator。第一次調(diào)用Iterator的next()方法時(shí),它返回序列的第一個(gè)元素。
注意:iterator()方法是java.lang.Iterable接口,被Collection繼承。
(2) 使用next()獲得序列中的下一個(gè)元素。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除。
Iterator是Java迭代器最簡(jiǎn)單的實(shí)現(xiàn),為L(zhǎng)ist設(shè)計(jì)的ListIterator具有更多的功能,它可以從兩個(gè)方向遍歷List,也可以從List中插入和刪除元素。