在for语句中一般是(int i=0;....)在下面的例子中for后面不是跟的int数据类型,而是Enumeration,这又是什么数据类型呢?import java.util.*;
public class Hashtable{
public static void main(String[] args){
Hahstable ht=new Hashtable();
ht.put("0011-123","江泽民");
ht.put("0012-456","李鹏");
ht.put("0013-789","李瑞环");
System.out.println("<目录>");
for(Enumeration e=ht.element();e.hasMoreElement();)
System.out.println(e.nextElement());
}
}

解决方案 »

  1.   

    实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。 见jdk util包
      

  2.   

    你不用去关注for(first;second;third)里面三个东西是什么,你只需要知道for()执行的顺序是先first,然后判断second,然后就运行代码,最后再third一下就行了。Enumeration是个枚举类.
    -----------------------------------------
    for(Enumeration e=ht.element();e.hasMoreElement();){
    System.out.println(e.nextElement());
    }
    上面的代码就先定义一个Enumeration对象,然后判断是不是有下一个元素,然后打印出下一个元素,最后又判断…………这样一直下去所以这样是可以执行的。
    对了e.hasMoreElement()返回的是boolean
      

  3.   

    public interface Enumeration<E>实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。 例如,要输出向量 v 的所有元素,可使用以下方法:      for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
             System.out.println(e.nextElement());
         }
     这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream 中。 注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。