В настоящее время я пытаюсь создать программу, которая сопрягает глаголы на испанский язык. Я создал хеш-таблицу, которая содержит ключ и экземпляр объекта 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;
}
}
Вопрос в том, какой способ является наиболее эффективным для создания метода, который возвращает список всех глаголов в Hash Карта в алфавитном порядке? Должен ли я вернуть метод ArrayList, который включает ключи всех объектов в хэш-карте? Или есть более эффективный способ сделать это?
for(int i=0;i<ytFiles.size();i++){
int key = ytFiles.keyAt(i);
Log.e("key", String.valueOf(key));
String format = ytFiles.get(key).getFormat().toString();
String url = ytFiles.get(key).getUrl();
Log.e("url",url);
}
можно стать ключевыми методом keyat, и необходимо передать индекс тогда, он возвратит ключ в том конкретном индексе. этот цикл получит весь ключ