Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素。
这种传统接口已被迭代器取代,虽然Enumeration 还未被遗弃,但在现代代码中已经被很少使用了。尽管如此,它还是使用在诸如Vector和Properties这些传统类所定义的方法中,除此之外,还用在一些API类,并且在应用程序中也广泛被使用。
1.
hasMoreElements() 测试此枚举是否包含更多的元素。
nextElement() 如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
2.
Enumeration接口与Iterator接口用法比较,使用这两种接口的方法都可以用于遍历集合元素,前者现在只在特殊场合使用,后者现在使用比较广泛。
直接上代码:
package cn.xxs.json;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Vector;
public class EnuOrIter {
public static void main(String args[]) {
Enumeration days;
Vector dayNames = new Vector();
dayNames.add("Sunday");
dayNames.add("Monday");
dayNames.add("Tuesday");
dayNames.add("Wednesday");
dayNames.add("Thursday");
dayNames.add("Friday");
dayNames.add("Saturday");
// 使用Iterator迭代器遍历
Iterator it = dayNames.iterator();
while (it.hasNext()) {
String name = (String) it.next();
System.out.println(name);
}
System.out.println("--------------------------------------------------");
// 使用Enumeration接口遍历
days = dayNames.elements();
//测试此枚举是否包含更多的元素。
while (days.hasMoreElements()){
//如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
System.out.println(days.nextElement());
}
}
}
打印结果: