title: How to return a list of keys from a Hash Map?
body: <p>I'm currently trying to make a program that conjugates verbs into Spanish.  I've created a Hash Table that contains a key and an instantiation of the object Verb.  The key is a string that has the infinitive form of the verb (for example, "hablar").  This is the code that I have so far for the hash map:</p>
  
  <pre><code>public class VerbHashMap {
  
      HashMap&lt;String, Verb&gt; verbHashMap;
  
      public VerbHashMap(){
          verbHashMap = new HashMap();
      }   
  }
  </code></pre>
  
  <p>Each verb's key in the HashMap is based on the infinitive form of the verb.  For example, the string "hablar" is the key for a Spanish verb.  The class Verb has a method called getInfinitive() which returns a string that contains the infinitive form of the verb.</p>
  
  <pre><code>public boolean addVerb(Verb verb){
      if(verbHashMap.containsValue(verb.getInfinitive()){
          return false;
      }
      else{
          verbHashMap.put(verb.getInfinitive(), verb);
          return true;
      }
  }
  </code></pre>
  
  <p>The question is what is the most efficient way to create a method that returns a list of all the verbs in the Hash Map in alphabetical order?  Should I have the method return an ArrayList which includes the keys of all the objects in the Hash Map?  Or is there a much more efficient way to go about this?</p>