設計模式-行為篇(迭代器模式)
迭代器模式:
又叫做遊標(Cursor)模式。
提供一種方法訪問一個容器(container)物件中的各個元素,而又不暴露該物件的內部細節。
/**
* Created by malei on 2016/12/6.
*/
public class MyList<T> implements Collect<T>{
private List list = new ArrayList();
@Override
public void add(T obj) {
list.add(obj);
}
@Override
public void remove(T obj) {
list.remove(obj);
}
@Override
public Iterator iterator() {
return new MyIterator(list);
}
public static void main(String[] args){
Collect<String> list = new MyList<>();
list.add("小米1");
list.add("小米2");
list.add("小米3");
Iterator it = list.iterator();
while (it.hasNext()){
Log.show((String)it.next());
}
}
}
/**
* Created by malei on 2016/12/6.
* 集合的介面規範
*/
public interface Collect<T> {
void add(T obj);
void remove(T obj);
Iterator iterator();
}
/**
* Created by malei on 2016/12/6.
*/
public class MyIterator<T> implements Iterator{
private List<T> list = new ArrayList();
private int cursor = 0;
public MyIterator(List<T> list){
this.list = list;
}
@Override
public T next() {
T obj = null;
if(this.hasNext()){
obj = this.list.get(cursor++);
}
return obj;
}
@Override
public boolean hasNext() {
if(cursor == list.size()){
return false;
}
return true;
}
}
/**
* Created by malei on 2016/12/6.
* 迭代器介面
*/
public interface Iterator <T>{
T next();
boolean hasNext();
}
相關文章
- 設計模式(二十四)----行為型模式之迭代器模式設計模式
- 行為型模式:迭代器模式模式
- 初學設計模式(java版)一:行為型模式之--Iterator模式(迭代器模式)設計模式Java
- 設計模式之迭代器模式設計模式
- JS設計模式(迭代器模式)JS設計模式
- 設計模式(十七)迭代器模式設計模式
- js設計模式--迭代器模式JS設計模式
- 《JavaScript設計模式與開發實踐》模式篇(4)—— 迭代器模式JavaScript設計模式
- 行為型:迭代器模式模式
- 極簡設計模式-迭代器模式設計模式
- 簡說設計模式——迭代器模式設計模式
- JavaScript 設計模式(六) 迭代器模式JavaScript設計模式
- golang設計模式之迭代器模式Golang設計模式
- Javascript設計模式之迭代器模式JavaScript設計模式
- 「補課」進行時:設計模式(13)——迭代器模式設計模式
- 設計模式(十六)迭代器設計模式
- 23天設計模式之迭代器模式設計模式
- C#設計模式之迭代器模式C#設計模式
- javascript設計模式 之 4 迭代器模式JavaScript設計模式
- Rust語言之GoF設計模式:迭代器模式RustGo設計模式
- 16.java設計模式之迭代器模式Java設計模式
- 軟體設計模式系列之十八——迭代器模式設計模式
- 軟體設計模式學習(二十)迭代器模式設計模式
- 迭代器設計模式知識概括設計模式
- Android理解設計模式之組合模式、迭代器模式、訪問者模式Android設計模式
- 設計模式-行為型模式-中介者模式設計模式
- 設計模式(十九)----行為型模式之命令模式設計模式
- 設計模式(十七)——迭代器模式(ArrayList 集合應用原始碼分析)設計模式原始碼
- 迭代器模式模式
- 行為型設計模式設計模式
- 設計模式 - 迭代器模式詳解及其在ArrayList中的應用設計模式
- 聊一聊設計模式(四)-- 行為型設計模式設計模式
- 設計模式之中介者模式(行為型)設計模式
- 迭代器設計模式,幫你大幅提升Python效能設計模式Python
- 設計模式總結(模式篇)設計模式
- 迭代器模式(Iterator)模式
- (Java)設計模式:行為型Java設計模式
- 行為型設計模式 - 狀態模式詳解設計模式
- 設計模式(二十一)----行為型模式之狀態模式設計模式