Module  java.base
软件包  java.util

Interface Enumeration<E>

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


    public interface Enumeration<E>
    实现枚举接口的对象生成一系列元素,一次一个。 连续调用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之后对此枚举调用了任何方法,则遍历是未定义的。
        API Note:
        此方法旨在帮助适应代码生成Enumeration实例的代码消耗Iterator实例。 例如, JarFile.entries()方法返回一个Enumeration<JarEntry> 这可以变成Iterator ,然后可以使用forEachRemaining()方法:
           JarFile jarFile = ... ; jarFile.entries().asIterator().forEachRemaining(entry -> { ... });  
        (注意,还有一个JarFile.stream()方法返回一个Stream的条目,这在某些情况下可能更方便。)
        实现要求:
        默认实现返回 Iterator ,其 hasNext方法调用此枚举的 hasMoreElements方法,其 next方法调用此枚举的 nextElement方法,且其 remove方法抛出 UnsupportedOperationException
        结果
        代表这个枚举的其余元素的迭代器
        从以下版本开始:
        9