Java 设计模计之(一)—— 迭代器(Iterator pattern)
来源:互联网 发布:滕先生打电话网络视频 编辑:程序博客网 时间:2024/05/17 23:24
1. 角色
2. Sample:
代码一:
public interface Aggregate {
public abstract Iterator iterator();
}
代码二:
public interface Iterator {
public abstract boolean hasNext();
public abstract Object next();
}
代码三:
public class Book {
private String name = "";
public Book(String name){
this.name = name;
}
public String getName(){
return name;
}
}
代码四:
public class BookShelf implements Aggregate {
private Book[] books;
private int last = 0;
public BookShelf(int maxsize){
this.books = new Book[maxsize];
}
public Book getBookAt(int index){
return books[index];
}
public void appendBook(Book book){
this.books[last] = book;
last++;
}
public int getLength(){
return last;
}
public Iterator iterator(){
return new BookShelfIterator(this);
}
}
代码五:
public class BookShelfIterator implements Iterator {
private BookShelf bookShelf;
private int index;
public BookShelfIterator(BookShelf bookShelf){
this.bookShelf = bookShelf;
this.index = 0;
}
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
if (index < bookShelf.getLength()) {
return true;
} else {
return false;
}
}
@Override
public Object next() {
// TODO Auto-generated method stub
Book book = bookShelf.getBookAt(index);
index++;
return book;
}
}
代码六:
public class Main {
public static void main(String[] args) {
BookShelf bookShelf = new BookShelf(4);
bookShelf.appendBook(new Book("Thinking in java"));
bookShelf.appendBook(new Book("Thinking in Action"));
bookShelf.appendBook(new Book("Java design pattern"));
bookShelf.appendBook(new Book("UML design pattern"));
Iterator it = bookShelf.iterator();
while (it.hasNext()){
Book book = (Book)it.next();
System.out.println(""+ book.getName());
}
}
}
- Java 设计模计之(一)—— 迭代器(Iterator pattern)
- Java设计模计之(二)——单例模式(singleton pattern)
- Java设计模式——迭代器模式(Iterator Pattern)
- java设计模式——迭代器模式(Iterator Pattern)
- Java设计模式——迭代器模式(Iterator Pattern)
- JAVA设计模式之 迭代器模式【Iterator Pattern】
- 设计模式之迭代器(Iterator Pattern)-笔记
- 设计模式之-迭代器(Iterator pattern)
- 设计模式之迭代器模式--- Pattern Iterator
- Java设计模式--迭代器模式【Iterator Pattern】
- 设计模式 - 迭代器模式(iterator pattern) Java 迭代器(Iterator) 详解
- 设计模式(16)——迭代器模式(Iterator Pattern)
- 设计模式 —— 迭代器模式(Iterator Pattern)
- 设计模式——迭代器模式(Iterator Pattern)
- 设计模式学习—迭代器模式(Iterator Design Pattern)
- Iterator Pattern--迭代器设计模式
- 设计模式(C#)之迭代器模式(Iterator Pattern)
- 设计模式(C#)之迭代器模式(Iterator Pattern)
- 算符优先文法的一个实现
- PostgreSQL中文文档 网址
- 分治法 --- 大整数的乘法
- 基于MySQL和Infobright的数据仓库技术
- crackdow2's cellshading
- Java 设计模计之(一)—— 迭代器(Iterator pattern)
- Set CommandTimeout for a TableAdapter in the DataSet
- 监听浏览器关闭按钮点击事件
- sql server2000中使用convert来取得datetime数据类型样式(全)
- atl server com 支持mfc
- 字体的设置
- expect安装使用
- erlang aix 上的安装
- JavaScript实现CRC32函数