イテレーション可能であるジャワつまり、コレクション内のすべての要素が再びそれを横断するために、コレクションの枠組みの下ですべてのコレクションのための共通の一種。反復プロセスは、イテレータオブジェクトに依存して、その後、イテレータそれは何ですか?
反復子(イテレータもバーニアモードと呼ばれる)モードでは、その意味は、オブジェクトの詳細を露出することなく、各要素にコンテナオブジェクトにアクセスするための方法を提供することです。
注意:のJava コレクションフレームワーク、時にはと呼ばれるコンテナのコレクションを。
定義によると、イテレータは本質的に横断アルゴリズムの一種であり、コンテナ、のために生まれています。大きく異なるコンテナを達成しているため、しばしば不可能オブジェクトのコレクションの要素をトラバースする方法を知っています。Javaは、反復的なインターフェースを提供してくれるJavaが反復するために失われたすべてのコレクションです。
簡単に言えば、イテレータがインターフェースであるイテレータ、このインタフェースを実装するクラスは、ほとんどの時間が参照する反復クラスと呼ばれることができているjava.utilのパッケージ内のコレクションクラス。次のようにサンプル・コードは次のとおりです。
- パブリッククラス Test3は{
- パブリック静的ボイド メイン(文字列[]引数){
- 一覧<文字列>リスト= 新しい ArrayListを<>();
- list.add("A" );
- list.add("B" );
- 反復子の<string> = list.iterator(); // セットによって設定されたイテレータイテレータを取得する()メソッド
- //次の要素があるかどうかを決定し、イテレータのhasNextメソッドを呼び出します
- 一方、 (it.hasNext()){
- //インデックスは、反復子を移動し、要素値の現在位置を取得します
- System.out.println(it.next())。
- }
- }
- }
まず、作成リスト・オブジェクトのコレクションを、そして2つの文字列オブジェクトを配置し、()イテレータイテレータを取得する方法。反復子()のメソッドのIterable 、インターフェイス指定ArrayListのこの方法の特定の実装、反復子提供Iteartorのインターフェースを、以下がある3つの。方法:
1.hasNext() あなたが持っている場合は、英語の方法は、オブジェクトだけでなく、次の要素のセットを決定するかどうか、最後の要素を返し、偽
2.next() の次の位置を指すようにイテレータ、及び方法は、次の要素への参照を返します
3.remove() 点イテレータからコレクションの反復の最後の要素が返され、削除、比較的小さなを使用して操作。
注:から、Java5.0の開始、イテレータをすることができますforeach ループを交換しますが、foreachのは、自然のサイクルにも使用Iteratorを横断します。
要約:
イテレータは、内部の詳細は、オブジェクトを公開する必要はありませんが、オブジェクトのコレクションの様々な要素にアクセスするための方法を提供します。Javaの提供することによって、イテレータとのIterableのクラスの繰り返し設定することができる二つのインターフェースを実装するためには、メイン使用イテレータは、第一とのhasNext ループ条件として()、その後、次に各要素の()メソッドは、関連する最終的に得られる、および操作。