tsurutanのつぶやき

備忘録としてつぶやきます

JAVA Iteratorの使い方

f:id:tsurutan:20150805185109p:plain

JAVAにはIteratorというインターフェースを実装しています。 今回Iteratorについて説明していきたいと思います。 まずIteratorとは何か

イテレータ(英語: Iterator)とは、プログラミング言語において配列やそれに類似するデータ構造の各要素に対する繰返し処理の抽象化である。 実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。 反復するためのものの意味で反復子(はんぷくし)と訳される。 繰返子(くりかえし)という一般的ではない訳語もある。

らしいです。

簡単に言いますとArrayListの要素に簡単にアクセスがでいる便利なインターフェースです。

主にIteratorには以下のメソッドがあります。

返り値 メソッド
boolean hasNext()
E next()
void remove()

hasNext()

繰り返し処理でさらに要素がある場合に true を返します。つまり、next の呼び出しが例外をスローすることなく要素を返す場合は、true を返します。

戻り値:

反復子がさらに要素を持つ場合は trueを返します。

next()

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

戻り値:

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

例外:

繰り返し処理でそれ以上要素がない場合に例外(NoSuchElementException )を返します。

remove()

基になるコレクションから、反復子によって最後に返された要素を削除します (任意のオペレーション)。このメソッドは、next の呼び出しごとに 1 回だけ呼び出すことができます。反復子の動作は、繰り返し処理がこのメソッドの呼び出し以外の方法で実行されているときに基になるコレクションが変更された場合は保証されません。

例外:

Iterator が remove オペレーションをサポートしない場合(UnsupportedOperationException) next メソッドがまだ呼び出されてない場合、または next メソッドの最後の呼び出しのあとに remove メソッドがすでに呼び出されている場合(IllegalStateException)に例外を返します