2012-11-11 137 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

讓我試試看,但似乎你只是賺了一個可以接受的(並非常感謝)答案:) –