Iteratorインターフェイス
プログラムの開発は、多くの場合、コレクション内のすべての要素をトラバースする必要があります。
この要求に応えて、JDKは、インタフェースjava.util.Iteratorの提供に特化しています。
反復子インタフェースは、Javaの集合であるが、それはマップインタフェースがイテレータので、主コレクションイテレータ反復(すなわち、トラバース)要素のため、主に店舗の要素に使用される、地図コレクションインターフェイスとインターフェイス異なり、コレクションでありますオブジェクトは、イテレータとして知られています。
その後、イテレータは簡単にはイテレータのメソッドを取得し、以下、反復の完全なセットを取得します、コレクションセットを反復処理したい:
公共イテレータイテレータ():イテレータがコレクションの要素を反復処理するために、対応する設定を取得します。
:ここではいくつかの概念の繰り返しです
**イテレーション:**コレクション要素のコレクションを取得する一般的な方法です。そこに、ある要素が、取り出しもはやそこに取り上げかどうかを決定しないし続ける配置する場合、要素の必須を服用する前に最初のセットは、決定された要素がありません。これは、コレクション内のすべての要素のすべてのアウトを持っています。この実施形態は、反復と呼ばれる専門用語を取ら。
:イテレータは、次のように一般的な方法インターフェイス
パブリックE次に()戻り値:次の繰り返し要素。
パブリックブールのhasNext():繰り返し処理でさらに要素がある場合、それはtrueを返します。
例:
のシモンズ:コレクション要素の間には、セットに要素がない場合は、削除され、何の要素は発生しませんイテレータのnextメソッド、エラーjava.util.NoSuchElementExceptionを継続して使用します。
原則イテレータ
ケースでは、コレクションを横断するイテレータ全体のプロセスを完了する前に。次に、set()メソッド・イテレータオブジェクトを呼び出すことにより、最初のコレクション、イテレータを横断し、場合hashNext()メソッドを使用セット内の次の要素があるか否かを判定し、存在する場合、それ以外の場合は持っていることを示す、除去要素のnext()メソッドが呼び出され要素による停止、コレクションの末尾に達しました。
コレクションをループでイテレータイテレータオブジェクト、コレクション内の要素を追跡するポインタ道の内部使用初心者がより良い方法を伝説にデモIteratorオブジェクト要素に続いてイテレータを、理解することができるようにするために、:
次のメソッド・イテレータの最初の呼び出しは、反復子のインデックスが戻って1を移動するとき、イテレータは次のメソッドを呼び出す前に、反復子のインデックスは、最初の要素の前に、最初に指して、任意の要素を指していません要素は、次のメソッドの呼び出しが再び、反復子のインデックスは、コレクションの最後に達したことを示す、のhasNextメソッドの戻りの偽まで、第二の要素と要素の戻りを指し、そしてようにすること要素と戻り、終了横断要素。
拡張forループ
(各サイクルについても呼ばれる)拡張forループJDK1.5は、配列やコレクションをループに設計された高レベルのためのループから出てきています。その内部には、実際には、原則としてイテレータイテレータなので、トラバーサルのプロセスは、収集作業の要素を追加したり、削除することはできません。
フォーマット
for(元素的数据类型 变量 : Collection集合or数组){
//写操作代码
}
コレクションと配列をトラバースするために使用されます。通常要素のみを介して行う、追加および削除は、トラバーサルのプロセスの要素の集合上で動作しません。
例
Collection<String> coll = new ArrayList<String>();
coll.add("嘿嘿");
coll.add("哈哈");
coll.add("呵呵");
//使用增强for遍历
for(String s :coll){ //接收变量s代表 代表被遍历到的集合元素
System.out.println(s);
}