回覆列表
-
1 # 程式引力
-
2 # 分享那點事兒
首先來普及一下迭代器概念。迭代器(iterator)有時又稱遊標(cursor)是程式設計的軟體設計模式,可在容器(container,例如連結串列或陣列)上遍訪的介面,設計人員無需關心容器的內容。java迭代器 較多使用在容器中,如陣列連結串列 。
作為一種設計模式,迭代器可以用於遍歷一個物件,對於這個物件的底層結構開發人員不必去了解。迭代器的使用也十分簡單。現在簡要的總結下使用迭代 器的好處吧。
1、迭代器可以提供統一的迭代方式。
2、迭代器也可以在對客戶端透明的情況下,提供各種不同的迭代方式。
3、迭代器提供一種快速失敗機制,防止多執行緒下迭代的不安全操作。
由於Java中資料容器眾多,而對資料容器的操作在很多時候都具有極大的共性,於是Java採用了迭代器為各種容器提供公共的操作介面。使用Java的迭代器iterator可以使得對容器的遍歷操作完全與其底層相隔離,可以到達極好的解耦效果。
-
3 # 使用者2651660218808126
意思就是可能使原本可以訪問到容器內元素的迭代器變得無法再訪問,因為插入和刪除可能會更改元素在記憶體中的位置,所以原來的迭代器指向的位置可能因為插入或者刪除操作導致不再儲存原有的值.
按照筆者本人的理解,題目中所說的容器是指程式語言中的集合。
容器(即集合)使得開發者能夠在處理同型別資料時,可以以一個整體去處理,並把它作為引數或作為返回值。例如,Java中的ArrayList作為一個容器,能夠攜帶多個同型別的物件如String。可以將該陣列傳入方法中,或作為返回值。
用好容器,需要對程式語言中基本的容器都有一個大致的瞭解,同時,再考慮自己的業務場景需要使用什麼容器。例如,自己需要儲存的資料是什麼型別,該容器是否支援,該容器是否是執行緒安全的,等等。
對於迭代器,它允許使用者對於集合中的元素進行遍歷。要用好迭代器,也是要對語言支援的迭代器有一個基本瞭解,然後結合自身業務情況決定是否要使用迭代器。