如何从哈希映射返回密钥列表?
我目前正在尝试制作一个将动词与西班牙语共轭的程序。我创建了一个哈希表,其中包含对象谓词的键和实例化。键是具有动词的不定式形式的字符串(例如,“hablar”)。这是我到目前为止为哈希映射提供的代码:
public class VerbHashMap {
HashMap<String, Verb> verbHashMap;
public VerbHashMap(){
verbHashMap = new HashMap();
}
}
HashMap中每个动词的键都基于动词的不定式形式。例如,字符串“hablar”是西班牙语动词的键。类 Verb 有一个名为 getInfinitive() 的方法,该方法返回一个包含动词的不定式形式的字符串。
public boolean addVerb(Verb verb){
if(verbHashMap.containsValue(verb.getInfinitive()){
return false;
}
else{
verbHashMap.put(verb.getInfinitive(), verb);
return true;
}
}
问题是,创建一个方法的最有效方法是什么,该方法按字母顺序返回哈希映射中所有动词的列表?我是否应该让该方法返回一个 ArrayList,其中包含哈希映射中所有对象的键?还是有更有效的方法可以做到这一点?