モジュール java.base
パッケージ java.util

インタフェースEnumeration<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()メソッドを使用して、EnumerationIteratorに適応させることができます。
    導入されたバージョン:
    1.0
    関連項目:
    Iterator, SequenceInputStream, nextElement(), Hashtable, Hashtable.elements(), Hashtable.keys(), Vector, Vector.elements()
    • メソッドの詳細

      • hasMoreElements

        boolean hasMoreElements()
        列挙にさらに要素があるかどうかを判定します。
        戻り値:
        列挙オブジェクトに1つ以上の要素が残っている場合はtrue、そうでない場合はfalse
      • nextElement

        E nextElement()
        列挙に1つ以上の要素が残っている場合は、次の要素を返します。
        戻り値:
        列挙の次の要素。
        例外:
        NoSuchElementException - 要素がそれ以上ない場合。
      • asIterator

        default Iterator<E> asIterator()
        この列挙の対象となる残りの要素をトラバースするIteratorを返します。 asIteratorのコール後にこの列挙でメソッドがコールされた場合、トラバーサルは未定義です。
        APIのノート:
        このメソッドは、Enumerationインスタンスを生成するコードを、Iteratorインスタンスを使用するコードに適応させるのに役立ちます。 たとえば、JarFile.entries()メソッドはEnumeration<JarEntry>を返します。 これはIteratorに変換でき、forEachRemaining()メソッドを使用できます。
        
             JarFile jarFile = ... ;
             jarFile.entries().asIterator().forEachRemaining(entry -> { ... });
         
        (エントリのStreamを返すJarFile.stream()メソッドもあるため、場合によってはより便利な場合があります。)
        実装要件:
        デフォルトの実装では、hasNextメソッドがこの列挙のhasMoreElementsメソッドをコールするIteratorが戻されます。このメソッドでは、nextメソッドがこの列挙のnextElementメソッドをコールし、removeメソッドがUnsupportedOperationExceptionをスローします。
        戻り値:
        この列挙の残りの要素を表すイテレータ
        導入されたバージョン:
        9