我现在正在尝试编写一个能将动词转化为西班牙语的程序。我创建了一个哈希表,其中包含一个键和一个Verb对象的实例。键是一个字符串,表示动词的原形式(例如,“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,其中包括哈希映射中所有对象的键吗? 还是有更加高效的方法来解决这个问题?
addVerb()
方法检查值是否存在的方式,动词不应该是键吗? - Marcelo