【Java開発】Iteratorクラス

Java入門講座

はじめに

皆さん。こんにちは!

DreamHanksの254cmです。

今回はIteratorクラスについて説明していきます。

Java記事のまとめはこちらです。

Iteratorとは?

Setのように値を繰り返して取り出す処理をしにくいデータストラクチャーのために

 

Collection FrameworkはIteratorというクラスを提供します。

 

イテレータはすべてのCollectionインターフェースの実装クラスに対する繰り返し処理を支援します。

 

しかし、MapはCollectionインターフェースと別のインターフェースなので、イテレータを利用した繰り返しができません。

 

サンプル

上記のサンプルのようにIteratorを利用して繰り返すこともできますが、

現在にはJava5バージョンから追加された機能である「enhanced for」を利用して繰り返し出力することが推奨されるのでListの場合にはIteratorをあまり使いません。

出力結果

 

サンプル2

上記のサンプルを見るとイテレータで要素を削除しています。

 

イテレータで削除された要素は現本のCollectionにも影響され、削除された要素の現本も削除されます。

 

そして、イテレータは1回目のwhileで最後に到達され、2回目のwhileでは次の値が存在されないので、2回目の繰り返しは実行されません。

出力結果

 

サンプル3

上記のサンプルのようにマップの要素をイテレータで変換するためには

 

マップでイテレータに直接変換することはできないので、

 

マップからEntryで成り立つセットを抽出してからそのセットからイテレータを抽出して使います。

 

イテレータの削除処理はオブジェクトのアドレスに直接適用されるので、

 

下記の出力結果のように現本のマップのデータも削除されます。

 

終わりに

今回の記事は以上になります。

ご覧いただきありがとうございます。

Java入門講座
スポンサーリンク
dreamhanksをフォローする
スポンサーリンク
DreamHanks Blog

コメント