早在Java SE 1.0版,就存在集合类。集合类可以用来管理一组相关的对象。当需要查看、使用集合中的所有对象时可以使用枚举接口对其进行遍历。枚举接口中定义了两个方法,它通常和向量一起使用。本实例将演示其用法,实例运行效果如图 实现了Enumeration接口的对象可以生成一系列元素,每次生成一个。通过连续调用nextElement()方法可以连续获得枚举接口中的元素。但是如果枚举接口中已经没有元素,调用该方法会抛出异常。因此应该先用hasMoreElements()方法判断枚举中是否还有可用元素。该接口定义了两个方法,其声明如下
boolean hasMoreElements()
测试枚举接口中是否还含有可用元素,因为其返回值是boolean,所以适合放在while循环中。
E nextElement()
如果枚举接口中还有可用元素,则返回下一个元素,否则会出现NoSuchElementException。 技巧:Collections类的静态方法enumeration()可以用来将任意集合转换成枚举接口类型。 编写EnumerationTest类,在该类的main()方法中,首先在向量中增加3个元素,然后利用枚举接口将其取出。代码如下:
package com.mingrisoft.enumerationtest;
import java.util.Enumeration;
import java.util.Vector;
public class EnumerationTest {
public static void main(String[] args) {
Vector<Integer> vector = new Vector<Integer>();
for (int i = 0; i < 3; i++) {
vector.add(i);
System.out.println("在向量中增加元素:" + i);
}
Enumeration<Integer> e = vector.elements();
while (e.hasMoreElements()) {
System.out.println("获得向量中的元素:" + e.nextElement());
}
}
}
心法领悟:枚举接口的升级。 随着Java的不断发展,新增加了一个Iterator接口,该接口不仅包括了枚举接口的功能,还增加了一个remove()方法。另外,该接口对方法的名字进行了优化:hasNext()用来测试是否还有可用元素,next()用来获得元素。在新类中,推荐使用Iterator()接口来实现遍历功能。