每一種容器它都有自己的一種遍歷方式,比方說arraylist有for迴圈遍歷,linkedlist也有自己的鍊錶遍歷方式,二叉樹有前中後序遍歷方式等等,但是它們的遍歷方式都不統一,iterator介面便統一了遍歷方式,以下是**片段,以arraylist為例.
/**
* @title: myiterator
* @description:自己寫的迭代器
* @auther:
* @version: 1.0
* @create 2019/3/31 12:57
*/public inte***ce myiterator
/**
* @title: collection
* @description:
* @auther:
* @version: 1.0
* @create 2019/3/31 12:49
*/public inte***ce collection
/**
* @title: myarraylist
* @description: 用內部類的方式實現
* @auther:
* @version: 1.0
* @create 2019/3/31 12:50
*/public class myarraylist implements collection
objects[index]=object;
index++;
}@override
public int size()
public myiterator iterator()
private class arrlistiterator implements myiterator
@override
public boolean hasnext()
@override
public object next()
}}
/**
* @title: test
* @description: 測試
* @auther:
* @version: 1.0
* @create 2019/3/31 13:05
*/public class test
myiterator iterator = list.iterator();
while (iterator.hasnext())
}}
迭代器模式(Iterator)
迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中的各種元素,而又不暴露該物件的內部表示。當你需要訪問乙個聚合物件,而且不管這些物件是什麼都需要遍歷的時候,就應該考慮使用迭代器模式。另外,當需要對聚集有多種方式遍歷時,可以考慮去使用迭代器模式。迭代器模式為遍歷不同的聚集結構提供如開始 ...
迭代器模式(Iterator)
1.目的 當需要遍歷 單種方式或多種方式 遍歷乙個組合物件時,使用遍歷模式。該模式類似與將容器的介面進行封裝,不對外直接暴露容器的介面的做法類似。2.ifndef iterator h define iterator h include include using namespace std cla...
Iterator 迭代器模式
現在有乙個集合。其內部元素的儲存方式可能比較複雜。為了讓使用者在不用關心其內部表示的情況下對其元素進行訪問,於是建立了乙個迭代器用於對集合的各個元素進行訪問。為了給使用者提供乙個更友好且強大的介面類,於是對迭代器以組合的形式進行封裝,得到乙個管理類。使用者直接操作該管理類即可得到指定元素,或通過管理...