РЕДАКТИРОВАТЬ: Нет необходимости писать свой собственный (хотя я оставлю реализацию ниже для потомков) - см. Ответ Кевина Бурриллиона за тот, что в JDK.
Если вы действительно нужно перечисление, можно было бы использовать:
Enumeration<String> x = new Vector(set).elements();
Было бы лучше использовать Iterable<E>
, если это вообще возможно, хотя ...
Лучшая альтернатива - написатьмаленький класс обертки вокруг Iterator<E>
.Таким образом, вам не нужно брать копию только для того, чтобы найти реализацию Enumeration<E>
:
import java.util.*;
class IteratorEnumeration<E> implements Enumeration<E>
{
private final Iterator<E> iterator;
public IteratorEnumeration(Iterator<E> iterator)
{
this.iterator = iterator;
}
public E nextElement() {
return iterator.next();
}
public boolean hasMoreElements() {
return iterator.hasNext();
}
}
public class Test {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
Enumeration<String> x = new IteratorEnumeration<String>(set.iterator());
}
}