デザインパターンおさらい #1 Iterator
前回の続きで、Iteratorパターンについて説明します。 javaの勉強を兼ねて、javaでIterator可能なクラスを実装するための方法を紹介します。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06/19
- メディア: 大型本
- 購入: 51人 クリック: 762回
- この商品を含むブログ (399件) を見る
Iterator
ある集合体が存在する時に、その集合の要素全てを走査し、各要素に処理を行うためのパターンです。 for文で配列を走査する方法を、他の集合に対しても行えるように抽象化している。
for (int i = 0; i < list.size(); ++i) { process_element(list[i]); }
が
for( E element : list) { process_element(element); }
のようにかけるのです.
javaにおいて、AggreateインターフェースはIterableインターフェースである。 Iterableインターフェースはiteratorメソッドが定義されていて、それはIteratorを返す。 Iteratorインターフェースは
- +hasNext
- +next
- +remove
の3つを定義し、Iterableなクラスに対して実装することを義務付けます。
まあ、このパターンは有名で簡単ですね。