模块  java.base
软件包  java.util

Interface Enumeration<E>

  • All Known Subinterfaces:
    NamingEnumeration<T>
    所有已知实现类:
    StringTokenizer

    public interface Enumeration<E>
    实现Enumeration接口的对象生成一系列元素,一次一个。 nextElement方法的连续调用返回该系列的连续元素。

    例如,要打印Vector<E> v的所有元素:

      for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
           System.out.println(e.nextElement()); 

    提供了用于枚举向量的元素,散列表的键以及散列表中的值的方法。 枚举也用于指定SequenceInputStream的输入流。

    API Note:
    该接口的功能由Iterator接口复制。 此外, Iterator添加了可选的删除操作,并且具有较短的方法名称。 新实现应考虑使用Iterator而不是Enumeration 因此能够适应一个EnumerationIterator通过使用asIterator()方法。
    从以下版本开始:
    1.0
    另请参见:
    IteratorSequenceInputStreamnextElement()HashtableHashtable.elements()Hashtable.keys()VectorVector.elements()
    • 方法详细信息

      • hasMoreElements

        boolean hasMoreElements()
        测试此枚举是否包含更多元素。
        结果
        true当且仅当此枚举对象包含至少一个要提供的元素时; 否则为false
      • nextElement

        E nextElement()
        如果此枚举对象至少还有一个要提供的元素,则返回此枚举的下一个元素。
        结果
        此枚举的下一个元素。
        异常
        NoSuchElementException - 如果不存在更多元素。
      • asIterator

        default Iterator<E> asIterator()
        返回一个Iterator ,它遍历此枚举所涵盖的其余元素。 如果在调用asIterator之后在此枚举上调用了任何方法,则asIterator
        API Note:
        此方法旨在帮助将生成Enumeration实例的代码调整为消耗Iterator实例的代码。 例如, JarFile.entries()方法返回Enumeration<JarEntry> 这可以变成Iterator ,然后可以使用forEachRemaining()方法:
           JarFile jarFile = ... ; jarFile.entries().asIterator().forEachRemaining(entry -> { ... });  
        (请注意,还有一个JarFile.stream()方法可以返回Stream条目,在某些情况下可能更方便。)
        实现要求:
        默认实现返回 IteratorhasNext方法调用此Enumeration的 hasMoreElements方法,其 next方法调用此Enumeration的 nextElement方法,其 remove方法抛出 UnsupportedOperationException
        结果
        表示此枚举的其余元素的迭代器
        从以下版本开始:
        9