一般的な方法を得るために必要な要素を有する1データ型が明確でない場合は、記憶素子のセットが、格納され得るオブジェクトタイプ(各種データ)が、抽出で、。これはイテレータインターフェイスのhasNext()/ next()メソッドです。
しかしイテレータインターフェースはありません特定のカテゴリには、しかし、イテレータオブジェクトを得ることができる抽象インタフェースのイテレータ()メソッドのコレクションがあります。そして、すべてのサブクラスのコレクションは、このメソッドを実装します。
1 // 抽象コレクション連続してイテレータメソッドのIterableを、 2 コレクション<整数> = ARR 新しい新規 のArrayList <整数> (); 3は arr.add(6。); 4は arr.add(8 ) 。図5は、 (arr.add 9。); 6 // 汎用基底系ARRイテレータオブジェクトの種類は使いやすい、異なるオブジェクトを表すことができる受ける 。7 イテレータ<整数> =私は(arr.iterator); // メソッドArrayListの実際の呼び出しは、書き換えられた 8 // どの要素がまだ得られていない場合、異常が存在するであろう 9。 しばらく(i.hasNext()){ 10 // 注意:セットの長さを変更する必要がある場合、forループ 11 // トラバーサル、追加、削除できる要素 12 System.out.println(i.next()); //は一度表示されません。次の()、実行 13 }
注:セットが要素を持っていない場合は、コレクション要素を実施するだけでなく、次の方法のイテレータを使用し続けた場合、エラーjava.util.NoSuchElementException何の要素は発生しません。
オブジェクトのコレクションは、Object型として格納されたデータの種類を宣言し、実際には、コレクションはオブジェクトのアドレスに格納されます。
基本データ型のセットを格納することができる、それが実際にパッケージの基本データ型を格納しています。
参照型の宣言コレクションを使用するので、反復はオブジェクトを作成する多型またはコレクション内の[<>型の制御要素[単一のオブジェクトを格納するときにダウンキャスト種々のに使用されるデータの種類を取得しなければならない]とイテレータを作成します<>】制御要素タイプ。
拡張forループ2:添字缶の有無にかかわらず、コレクションと配列を反復処理は、実際には、Itegerイテレータです。
1 // ループ、あなたのコンテンツのためのパラメータセットを反復処理する、本質的に反復子のために強化さ 2つの // 自動的に最適の参照データ型、資格の基本データ型を 3。 のための(INT I:ARR){ 4。 システムは。 out.printlnを(I); 5 }
注意:ループのための新しいターゲットを横断しなければなりません。コレクションの唯一の目標や配列。
勧告:反復、反復、場合にのみ、あなたが使用して、動作するように配列の要素を高めるために使用する場合は昔ながらの添字操作により、forループ。