知っていると便利な章

4.3. Iterator

Iteratorは反復子を示すものです。具体的にどういうものか見てみましょう。

Iteratorでは3つのメソッドが提供されています。

hasNext()
 繰り返し処理でさらに要素がある場合にtrueを返します。

next()
 繰り返し処理で次の要素を返します。

remove()
 もとになるコレクションから、反復子によって最後に返された要素を削除します。

このような感じに使います。

for (Iterator i = hogeCollection.iterator(); i.hasNext(); ) {
    Object obj = i.next(); // 要素を返しつつ次の要素へ進む
    i.remove();          // 要素の削除
}

似たものにListIteratorというインターフェースがありますが、これはIteratorを 継承したもので、前後方向に辿ることやリスト内容の変更をできるようにしたものです。

Java5以降では拡張for文を使うことにで、より簡潔に記述できます。 ただし、拡張for文では要素の削除、置換はできません。 拡張for文の対象となるのはIterableインターフェースを実装したクラスです。

for (E e : hogeCollection) {
    hoge(e); // 要素を参照
}

ちなみに、Iteratorはデザインパターンでいう「Iterator」パターンの実装そのものです。

< 前のページへ
お問い合わせ
  • ようかん
  • SG Labs(エスジー ラボ)
  • ITERACY
  • RiceLog(ライスログ)
  • Salesforce導入コンサルティング
  • SES営業向け用語講座

Pagetop