我目前正在尝试制作一个将动词变位成西类牙语的程序。我创建了一个哈希表,其中包含一个键和对象动词的实例化。键是具有动词不定式形式的字符串(例如,“hablar”)。这是我到目前为止的 HashMap 代码:
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;
}
}
问题是创建按字母顺序返回 HashMap 中所有动词列表的方法的最有效方法是什么?我是否应该让该方法返回一个 ArrayList,其中包含 Hash Map 中所有对象的键?还是有更有效的方法来解决这个问题?
最佳答案
使用 keySet()
方法返回一个集合,其中包含 Map
的所有键。
如果您想保持 map 有序,可以使用 TreeMap
.
关于java - 如何从 HashMap 中返回键列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589744/