常用介面 迭代器Iterator

2022-09-20 10:03:11 字數 1158 閱讀 5683

已經在文章中(抽象資料結構的實現 - 棧、佇列、揹包)討論過了,回頭來看探索之路非常曲折,這裡做乙個記錄

實現拿來就能for的快樂遍歷

這裡以類stack為例,說明實現迭代器的完整流程

public class stackimplements 自己的介面, iterable{}
這裡要注意的是,內部類stackiterator不是泛型,就是乙個普通類

private class stackiterator implements iterator{}
重寫 iterator 介面方法

當然 stackiterator 類也要實現 iterator 介面的方法,目前我常用的方法有remove(), hasnext(), next()

這裡直接用idea建立結構就好了

當然要按照介面定義資料型別返回

尤其是hasnext()這一方法,文字上理解為是否需要遍歷下乙個元素

實際使用時應到保證下乙個元素存在時,書寫的條件能夠使迭代器遍歷到下乙個元素

這一條件在鍊錶中表現為nodenow != null,也即當前的節點非空

@override

public void remove()

@override

public boolean hasnext()

@override

public t next()

這裡直接使用diea的重寫自動建立就行了,修改返回內容為下面的程式體

public iteratoriterator()
仍然以stack為例

public class stackimplements 自己的介面, iterable

@override

public boolean hasnext()

@override

public t next()

}public iteratoriterator()

}

Iterator介面 迭代器

就是對集合遍歷的一種方式。1.boolean hasnext 如果有元素可以迭代,則返回true。如果沒有下乙個元素,則返回false。2.e next 返回迭代的下乙個元素。注意 iterator迭代器是乙個介面,我們無法直接使用它,需要使用iterator介面的實現類物件,獲取實現類的方式比較特...

Java類集 迭代器Iterator介面

迭代器iterator介面 判斷是否有內容,有的話,就取出 只需要用collection介面的iterator 就能例項化iterator介面 public static void main string args 迭代器listiterator介面,雙向輸出 由前往後,由後往前輸出 謹記,要先,由...

迭代器模式(Iterator)

迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中的各種元素,而又不暴露該物件的內部表示。當你需要訪問乙個聚合物件,而且不管這些物件是什麼都需要遍歷的時候,就應該考慮使用迭代器模式。另外,當需要對聚集有多種方式遍歷時,可以考慮去使用迭代器模式。迭代器模式為遍歷不同的聚集結構提供如開始 ...