java 集合框架 迭代器的原理及原始碼解析

2021-08-28 19:36:12 字數 442 閱讀 8294

* a:迭代器原理

* 迭代器原理:迭代器是對集合進行遍歷,而每乙個集合內部的儲存結構都是不同的,所以每乙個集合存和取都是不一樣,那麼就需要在每乙個類中定義hasnext()和next()方法,這樣做是可以的,但是會讓整個集合體系過於臃腫,迭代器是將這樣的方法向上抽取出介面,然後在每個類的內部,定義自己迭代方式,這樣做的好處有二,第一規定了整個集合體系的遍歷方式都是hasnext()和next()方法,第二,**有底層內部實現,使用者不用管怎麼實現的,會用即可 

* b:迭代器原始碼解析

* 1,在eclipse中ctrl + shift + t找到arraylist類

* 2,ctrl+o查詢iterator()方法

* 3,檢視返回值型別是new itr(),說明itr這個類實現iterator介面

* 4,查詢itr這個內部類,發現重寫了iterator中的所有抽象方法 

java 集合迭代器

使用方法iterator要求容器返回iterator,iterator將準備返回序列的第乙個元素。將使用next 獲得虛類的下乙個元素,使用hasnext檢查序列中是否還有元素。使用remove將迭代器新近返回 的元素刪除。iterator可以 移除由next產生的最後乙個元素,所以remove之前...

集合框架之迭代器

iterable 介面 凡是實現了本介面的集合都可以用迭代的方式訪問。本介面的唯一方法是返回乙個迭代器。iterator 介面 迭代器。for object obj list for each 迴圈 只有所有實現iterable介面的實現類物件。也可以訪問陣列。for 定義乙個變數 要訪問的物件 定...

集合框架 之 迭代器

把取出方式定義在集合的內部,這樣取出方式就可以直接訪問集合內容的元素 這個去除方式被定義成了內部類。每個容器的資料結構不同,所以取出的動作細節也不一樣,但是他們都有共性內容 判斷和取出,所以就將這些共性抽取。那麼這些內部類都符合乙個規則,該規則就是iterator。如何獲取結合的取出物件呢?通過對外...