2012-11-11 91 views
2

我已经搜索,似乎无法找到对此的答案。我明白枚举类型是什么,但我不能为我的生活决定如何创建并返回一个函数。基本上,我有一个功能:哈希表类中的方法需要返回枚举类型

public Enumeration getKeys(){ 
    //Returns an Enumeration of valid keys in the hash table 
} 

需要返回一个枚举。

我的散列表包含一个键对象和一个值对象,并且我已经实现了像containsKey(Object key)和retrieve(Object key)这样的方法来帮助我确定一个键是否在表中有效,关键值的表是。任何有关了解如何开始构建枚举类型并返回它的帮助将不胜感激。

+3

为什么你不能使用迭代器的任何原因 - 从枚举的Javadoc:*“新的实现应该考虑使用偏好迭代枚举。” * – assylias

+1

对不起,匆忙,忘了这个标记一个功课 –

+0

@Zach考德尔:NP,我们不再喜欢作业标签:-)它已经过时... – home

回答

3

是“相对”容易,改变你的代码是这样的:

public Enumeration getKeys(){ 
     return new Enumeration() { 

     @Override 
     public boolean hasMoreElements() { 
      // TODO Test if this enumeration contains more elements. 
      return false; 
     } 

     @Override 
     public Object nextElement() { 
      // TODO Return the next element of this enumeration if this enumeration object has at least one more element to provide. 
      return null; 
     } 
    }; 
    } 

现在它是由你来实现这两种方法对于你的业务规则。

+0

让我试试看,但似乎你只是赚了一个可以接受的(并非常感谢)答案:) –