Я'м пытаюсь сделать программу, которая спрягает глаголы в испанском языке. Я'ве создали хэш таблицу, которая содержит ключ и экземпляр объекта глагола. Ключ является строкой, которая имеет в неопределенной форме глагола (например, на "hablar-то"). Это код, который я до сих пор для хэш-карту:
public class VerbHashMap {
HashMap<String, Verb> verbHashMap;
public VerbHashMap(){
verbHashMap = new HashMap();
}
}
Каждый глагол's ключ в HashMap является на основе неопределенной форме глагола. Например, строка "и hablar" это ключ для испанский глагол. Глагол класс имеет метод, называемый getInfinitive (), который возвращает строку, которая содержит неопределенной форме глагола.
public boolean addVerb(Verb verb){
if(verbHashMap.containsValue(verb.getInfinitive()){
return false;
}
else{
verbHashMap.put(verb.getInfinitive(), verb);
return true;
}
}
Вопрос в том, что является наиболее эффективным способом, чтобы создать метод, который возвращает список всех глаголов в хэш-карте в алфавитном порядке? Я должен иметь метод возвращает объект ArrayList, который включает в себя ключи всех объектов в хэш-карте? Или есть гораздо более эффективный способ пойти об этом?
Используя `карту.набор ключей (), вы можете получить комплект ключей. Затем преобразовать этот набор в "список" на:
List<String> l = new ArrayList<String>(map.keySet());
А затем использовать `л.метод GET(инт) на доступ к ключам.
ЗЫ: источник - https://stackoverflow.com/questions/2319538/most-concise-way-to-convert-a-setstring-to-a-liststring
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 и вы должны пройти индекс тогда он будет возвращать ключ в тот конкретный показатель. этот цикл будет сделать все ключевые