如何使用哈希表处理枚举

时间:2017-04-14 01:03:31

标签: java

在Java中,我们可以使用枚举来循环哈希表。但是Java编译器抱怨Enumeration变量是一个原始类型。

以下是代码:

Hashtable <Integer, Integer> Myhash = new Hashtable <Integer, Integer>();
Enumeration e;
e = MyHash.values();

编译器抱怨Enumeration是原始类型。我们如何定义代码,所以不是这样?

2 个答案:

答案 0 :(得分:3)

您的代码存在一些问题:

  1. 您使用的是原始类型。您的变量应声明其泛型类型参数:

    Enumeration<Integer> e;
    
  2. Hashtable.values()返回Collection,而不是Enumeration。你可能想要这个:

    e = MyHash.elements();
    
  3. 多年来,
  4. HashtableEnumeration已经过时了。除非是为了向后兼容,否则您应该使用HashMapIterator代替。

答案 1 :(得分:0)

试试这个:

Enumeration e = Collections.enumeration(MyHash);