インタフェースEnumeration<E>
- 型パラメータ:
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
-