
you are here
335
9
章
Iterator
パターンと
Composite
パターン
import java.util.Iterator;
public class DinerMenuIterator implements Iterator<MenuItem> {
MenuItem[] list;
int position = 0;
public DinerMenuIterator(MenuItem[] items) {
this.items = items;
}
public MenuItem next() {
//
ここに実装が入る
}
public boolean hasNext() {
//
ここに実装が入る
}
public void remove() {
throw new UnsupportedOperationException
("
メニュー項目の削除を試みてはいけない。
");
}
}
java.util.Iterator
を使って整理する
public Iterator<MenuItem> createIterator() {
return menuItems.iterator();
}
では、
PancakeHouseMenu
から始めましょう。
PancakeHouseMenu
から
java.util.Iterator
への変更は簡単です。
PancakeHouseMenuIterator
クラスを
削除し、
PancakeHouseMenu
の先頭に「
import java.util.Iterator ...