Iterable<E>「コレクション階層」のルートインタフェースです。コレクションは、その「要素」であるオブジェクトのグループを表します。コレクションによっては要素の重複を許可しますが、許可しないコレクションもあります。順序付けられているコレクションとそうでないコレクションがあります。このインタフェースの「直接」の実装を一切提供しません。ような、より用途の特定されたサブインタフェースを提供します。このインタフェースは、通常は、最大限の普遍性が求められる場面でコレクションを渡したり、そのコレクションを操作するために使用されます。このインタフェースを直接実装する必要があります。つの「標準」コンストラクタを提供しなければいけません。持ち、その引数と同じ要素で新しいコレクションを作成するコンストラクタです。したがって、後者のコンストラクタでは、ユーザーはどのコレクションでもコピーでき、希望の実装型のコレクションと完全に同じコレクションを生成できます。実装はこの規約に準拠しています。スローするように指定されています。スローすることができますが、必須ではありません。呼び出すと、例外をスローすることができますが、必須ではありません。コレクションの実装には、格納できる要素に制限があるものもあります。要素の型に制限がある実装もあります。ようなチェックされない例外がスローされます。前の動作を禁止する実装もあれば、後の動作を禁止する実装もあります。前の動作を表示する実装もあれば、あとの動作を表示する実装もあります。多くの場合は、コレクションへの挿入がされない不適格な要素を処理しようとすると、実装により例外がスローされたり、処理が有効になります。このインタフェースに関するそうした例外は、「任意」の仕様としてマークされます。独自の同期ポリシーを決定するかどうかは、それぞれのコレクションによって異なります。実装による強い保証がない場合、別のスレッドによって変更されるコレクションでメソッドを呼び出すと、定義されていない動作が発生する可能性があります。これには、直接の呼び出し、呼び出しを実行する可能性があるメソッドへのコレクションの引き渡し、および既存の反復子を使用したコレクションの検査が含まれます。メソッドとの関連で定義されます。返す」というものです。呼び出される」と理解すべきではありません。つのオブジェクトは等価ではないことが保証される)。メソッドの指定された動作を自由に利用できます。(任意のオペレーション)。(任意のオペレーション)。(任意のオペレーション)。