第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

JAVA中Iterator的具體作用?

JAVA中Iterator的具體作用?

MMTTMM 2019-02-25 16:16:14
JAVA中Iterator的具體作用?
查看完整描述

2 回答

?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊

簡(jiǎn)單地說(shuō):這是java里面的一個(gè)迭代器,主要用來(lái)取集合容器里面的值

舉個(gè)小例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

list l = new ArrayList();

 l.add("aa");

 l.add("bb");

 l.add("cc");

 for (Iterator iter = l.iterator(); iter.hasNext();) {

  String str = (String)iter.next();

  System.out.println(str);

 }

 /*迭代器用于while循環(huán)*/

 Iterator iter = l.iterator();

 while(iter.hasNext()){

  String str = (String) iter.next();

  System.out.println(str);

 }

他又幾個(gè)常用的方法:

     (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中插入和刪除元素。

下面是百度百科的一段內(nèi)容,我把它復(fù)制過(guò)來(lái)給你參考參考:

Iterator模式有三個(gè)重要的作用:

1)它支持以不同的方式遍歷一個(gè)聚合 復(fù)雜的聚合可用多種方式進(jìn)行遍歷,如二叉樹(shù)的遍歷,可以采用前序、中序或后序遍歷。迭代器模式使得改變遍歷算法變得很容易: 僅需用一個(gè)不同的迭代器的實(shí)例代替原先的實(shí)例即可,你也可以自己定義迭代器的子類以支持新的遍歷,或者可以在遍歷中增加一些邏輯,如有條件的遍歷等。

2)迭代器簡(jiǎn)化了聚合的接口 有了迭代器的遍歷接口,聚合本身就不再需要類似的遍歷接口了,這樣就簡(jiǎn)化了聚合的接口。

3)在同一個(gè)聚合上可以有多個(gè)遍歷 每個(gè)迭代器保持它自己的遍歷狀態(tài),因此你可以同時(shí)進(jìn)行多個(gè)遍歷。

4)此外,Iterator模式可以為遍歷不同的聚合結(jié)構(gòu)(需擁有相同的基類)提供一個(gè)統(tǒng)一的接口,即支持多態(tài)迭代。

簡(jiǎn) 單說(shuō)來(lái),迭代器模式也是Delegate原則的一個(gè)應(yīng)用,它將對(duì)集合進(jìn)行遍歷的功能封裝成獨(dú)立的Iterator,不但簡(jiǎn)化了集合的接口,也使得修改、增 加遍歷方式變得簡(jiǎn)單。從這一點(diǎn)講,該模式與Bridge模式、Strategy模式有一定的相似性,但I(xiàn)terator模式所討論的問(wèn)題與集合密切相關(guān), 造成在Iterator在實(shí)現(xiàn)上具有一定的特殊性,具體將在示例部分進(jìn)行討論。

正如前面所說(shuō),與集合密切相關(guān),限制了 Iterator模式的廣泛使用。在一般的底層集合支持類中,我們往往不愿“避輕就重”將集合設(shè)計(jì)成集合 + Iterator 的形式,而是將遍歷的功能直接交由集合完成,以免犯了“過(guò)度設(shè)計(jì)”的詬病,但是,如果我們的集合類確實(shí)需要支持多種遍歷方式(僅此一點(diǎn)仍不一定需要考慮 Iterator模式,直接交由集合完成往往更方便),或者,為了與系統(tǒng)提供或使用的其它機(jī)制,如STL算法,保持一致時(shí),Iterator模式才值得考 慮。

 

 


查看完整回答
反對(duì) 回復(fù) 2019-03-02
  • 2 回答
  • 0 關(guān)注
  • 801 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)