簡體   English   中英

java為自定義數據結構創建迭代器

[英]java creating an iterator for a custom data structure

所以這就是我所擁有的:

  • 1個稱為Set的界面
  • 1個實現集合的抽象類
  • 2個擴展抽象類的類,分別稱為ArraySetListSet

因此在Set中,我聲明了Iterator <String> iterator(); 然后我在2班非抽象的,我有嵌套它們被稱為類ArrayIteratorListIterator ,它實現了迭代器的功能。 但是編譯器抱怨ArraySetListSet必須實現Set.iterator() 如何讓這個編譯器承認ArrayIteratorListIterator是的實現Set.iterator()

所以看起來

interface Set extends Iterable< String > {  
...  
Iterator< String > iterator(); }  




class ArraySet extends AbstractClass {  
 ...  
    class ArrayIterator implements Iterator< String > { ... }  
 ...  
}  

您需要在非抽象類ArraySetListSet實現Set.iterator() ,即:

ArraySet

Iterator<String> iterator() {
    // do something, probably return ArrayIterator ?
}

ListSet

Iterator<String> iterator() {
    // do something, probably return ListIterator ?
}

另外,我假定這兩個ArrayIteratorListIterator實現Iterator

我知道這不是您問題的直接答案。 但是,僅出於了解的目的,您可能想知道什么是內部迭代器,什么是外部迭代器? 參考:GoF設計模式書

否則看看這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM