- 型パラメータ:
E
- この列挙によって返される要素のタイプ
- 既知のすべてのサブインタフェース:
NamingEnumeration<T>
- 既知のすべての実装クラス:
StringTokenizer
public interface Enumeration<E>
Enumerationインタフェースを実装するオブジェクトは、一連の要素を1回に1つずつ生成します。
nextElement
メソッドを連続して呼び出すことによって、連続するそれらの要素が返されます。
たとえば、Vector<E>
vのすべての要素を出力するには、次のようにします:
for (Enumeration<E> e = v.elements(); e.hasMoreElements();) System.out.println(e.nextElement());
メソッドは、ベクトルの要素、ハッシュ表のキー、およびハッシュ表の値を列挙するためのものです。 さらに、列挙は、入力ストリームをSequenceInputStream
に指定するためにも使用されます。
- APIのノート:
- このインタフェースの機能は、
Iterator
インタフェースによって複製されます。 また、Iterator
は、オプションの削除操作を追加し、メソッド名を短くします。 新しい実装では、Enumeration
に優先してIterator
を使用することを検討する必要があります。asIterator()
メソッドを使用して、Enumeration
をIterator
に適応させることができます。 - 導入されたバージョン:
- 1.0
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明この列挙の対象となる残りの要素を走査するIterator
を返します。boolean
列挙にさらに要素があるかどうかを判定します。列挙に1つ以上の要素が残っている場合は、次の要素を返します。
-
メソッドの詳細
-
hasMoreElements
boolean hasMoreElements()列挙にさらに要素があるかどうかを判定します。- 戻り値:
- 列挙オブジェクトに1つ以上の要素が残っている場合は
true
、そうでない場合はfalse
。
-
nextElement
E nextElement()列挙に1つ以上の要素が残っている場合は、次の要素を返します。- 戻り値:
- 列挙の次の要素。
- 例外:
NoSuchElementException
- 要素がそれ以上ない場合。
-
asIterator
この列挙の対象となる残りの要素を走査するIterator
を返します。asIterator
の呼び出し後にこの列挙型でメソッドが呼び出された場合、トラバーサルは未定義です。- APIのノート:
- このメソッドは、
Enumeration
インスタンスを生成するコードを、Iterator
インスタンスを使用するコードに適応させるためのものです。 たとえば、JarFile.entries()
メソッドはEnumeration<JarEntry>
を返します。 これをIterator
に変換して、forEachRemaining()
メソッドを使用することができます:
(エントリのJarFile jarFile = ... ; jarFile.entries().asIterator().forEachRemaining(entry -> { ... });
Stream
を返すJarFile.stream()
メソッドもあり、場合によっては便利です。) - 実装要件:
- デフォルトの実装では、
hasNext
メソッドがこの列挙のhasMoreElements
メソッドをコールし、そのnext
メソッドがこの列挙のnextElement
メソッドをコールし、そのremove
メソッドがUnsupportedOperationException
をスローするIterator
が返されます。 - 戻り値:
- このEnumerationの残りの要素を表すIterator
- 導入されたバージョン:
- 9
-