Интерфейс Enumeration
Интерфейс Enumeration представляет собой устаревший механизм перебора элементов коллекции, который использовался в ранних версиях Java. Он объявляет два основных метода: hasMoreElements, который проверяет наличие следующего элемента, и nextElement, который возвращает следующий элемент. В отличие от Iterator, интерфейс Enumeration не имеет метода remove и не поддерживает удаление элементов во время перебора. Несмотря на то, что Enumeration считается устаревшим, он до сих пор используется в некоторых классах, например, в Vector и Hashtable.
Синтаксис
Enumeration<E> enumeration = collection.elements();
while (enumeration.hasMoreElements())
{
E element = enumeration.nextElement();
}
Пример
Давайте создадим вектор и переберём его элементы с помощью Enumeration:
import java.util.Enumeration;
import java.util.Vector;
public class Main
{
public static void main(String[] args)
{
Vector<String> vector = new Vector<>();
vector.add("a");
vector.add("b");
vector.add("c");
Enumeration<String> enumeration = vector.elements();
while (enumeration.hasMoreElements())
{
System.out.println(enumeration.nextElement());
}
}
}
Результат выполнения кода:
"a"
"b"
"c"
Пример
Давайте переберём элементы Hashtable с помощью Enumeration и выведем только ключи:
import java.util.Enumeration;
import java.util.Hashtable;
public class Main
{
public static void main(String[] args)
{
Hashtable<String, Integer> table = new Hashtable<>();
table.put("a", 1);
table.put("b", 2);
table.put("c", 3);
Enumeration<String> keys = table.keys();
while (keys.hasMoreElements())
{
System.out.println(keys.nextElement());
}
}
}
Результат выполнения кода:
"a"
"b"
"c"
Смотрите также
-
интерфейс
hasMoreElements,
который проверяет наличие следующего элемента -
интерфейс
nextElement,
который возвращает следующий элемент -
интерфейс
Iterator,
который является современной заменой Enumeration -
интерфейс
Iterable,
который позволяет использовать цикл for-each