- 既知のすべてのサブインタフェース:
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を使用することを検討する必要があります。EnumerationをIteratorに適用するには、asIterator()メソッドを使用します。 - 導入されたバージョン:
- 1.0
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明この列挙型によってカバーされる残りの要素を走査するIteratorを返します。boolean列挙にさらに要素があるかどうかを判定します。列挙に1つ以上の要素が残っている場合は、次の要素を返します。
-
メソッドの詳細
-
hasMoreElements
boolean hasMoreElements()列挙にさらに要素があるかどうかを判定します。- 戻り値:
- 列挙オブジェクトに1つ以上の要素が残っている場合は
true、そうでない場合はfalse。
-
nextElement
E nextElement()列挙に1つ以上の要素が残っている場合は、次の要素を返します。- 戻り値:
- 列挙の次の要素。
- throws:
NoSuchElementException- 要素がそれ以上ない場合。
-
asIterator
この列挙型によってカバーされる残りの要素を走査するIteratorを返します。asIteratorの呼び出し後にこの列挙型でメソッドが呼び出された場合、トラバーサルは未定義です。- APIのノート:
- このメソッドは、
Enumerationインスタンスを生成するコードを、Iteratorインスタンスを使用するコードに適合させるのに役立ちます。 たとえば、JarFile.entries()メソッドはEnumeration<JarEntry>を返します。 これをIteratorに変換して、forEachRemaining()メソッドを使用することができます:
(エントリのJarFile jarFile = ... ; jarFile.entries().asIterator().forEachRemaining(entry -> { ... });Streamを返すJarFile.stream()メソッドもあることに注意してください。これは場合によってはより便利かもしれません。) - 実装要件:
- デフォルトの実装では、
IteratorがhasNextメソッドによって呼び出され、nextメソッドがこのEnumerationnextElementメソッドを呼び出し、removeメソッドがUnsupportedOperationExceptionをスローするこのEnumerationhasMoreElementsメソッドを呼び出します。 - 戻り値:
- このEnumerationの残りの要素を表すIterator
- 導入されたバージョン:
- 9
-