Iterator(迭代器)源碼閱讀(未完善)

集合框架

集合框架是用于表示和操作集合的統(tǒng)一體系結(jié)構(gòu),使它們能夠獨(dú)立于其表示的細(xì)節(jié)而被操縱。它減少了編程工作,同時(shí)提高了性能。它支持不相關(guān) API 之間的互操作性,減少設(shè)計(jì)和學(xué)習(xí)新 API 的工作兩,并促進(jìn)軟件重用。該框架基于十幾個(gè)集合接口。它包括這些接口和算法的實(shí)現(xiàn)來(lái)操縱它們。

Iterator(迭代器)源碼閱讀

一個(gè)集合的迭代器。迭代器代替 Java 集合框架中的枚舉。迭代器在兩個(gè)方面與枚舉不同:

(1)迭代器允許調(diào)用者在迭代期間使用明確定義的語(yǔ)義從底層集合中移除元素。

(2)方法名稱已被改進(jìn)

該接口是 Java 集合框架的成員。從 JDK1.2版本開始使用。

方法

void forEachRemaining(Consumer<? super E> action):
對(duì)每個(gè)剩余的元素執(zhí)行給定的操作,直到處理完所有的元素或操作拋出異常。如果指定了該順序, 則按迭代順序執(zhí)行操作。 由操作拋出的異常被中繼給調(diào)用者。

boolean hasNext():如果迭代包含更多的元素,則返回true.換句話說(shuō),如果 next() 返回一個(gè)元素而不是引發(fā)異常,則返回true。

E next():返回迭代中的下一個(gè)元素.

void remove():從底層集合中移除此迭代器返回的最后一個(gè)元素(可選操作)。每次調(diào)用 next() 時(shí)只能調(diào)用一次該方法。如果除了通過(guò)調(diào)用此方法之外的任何其他方式正在進(jìn)行迭代過(guò)程中修改了基礎(chǔ)集合, 則該迭代器的行為是未指定的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1 場(chǎng)景問(wèn)題# 1.1 工資表數(shù)據(jù)的整合## 考慮這樣一個(gè)實(shí)際應(yīng)用:整合工資表數(shù)據(jù)。 這個(gè)項(xiàng)目的背景是這樣的,項(xiàng)目...
    七寸知架構(gòu)閱讀 2,579評(píng)論 0 53
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 31,765評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,333評(píng)論 25 708
  • 存鷹之心于高遠(yuǎn), 取鷹之志而凌云, 習(xí)鷹之性以涉險(xiǎn), 融鷹之神在山巔。
    呆呆阿拉斯加閱讀 278評(píng)論 0 1
  • 十七歲 ,無(wú)資本,無(wú)未來(lái)。沒(méi)有什么文筆,這篇文章也只是深夜的自言自語(yǔ)罷了。十七歲 一名普通的高中生,中考自認(rèn)為是憑...
    張三瘋aaa閱讀 280評(píng)論 1 1