Подтвердить что ты не робот

Как вернуть список ключей с хэш-карты?

В настоящее время я пытаюсь создать программу, которая сопрягает глаголы на испанском языке. Я создал Hash-таблицу, содержащую ключ и экземпляр объекта 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, который включает в себя ключи всех объектов на Hash-карте? Или есть более эффективный способ сделать это?

4b9b3361

Ответ 1

Используйте метод keySet(), чтобы вернуть набор со всеми ключами Map.

Если вы хотите сохранить свою карту, вы можете использовать TreeMap.

Ответ 3

map.keySet()

вернет вам все ключи. Если вы хотите, чтобы ключи были отсортированы, вы можете рассмотреть TreeMap

Ответ 4

 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, и вам нужно будет передать индекс, тогда он вернет ключ по этому конкретному индексу. этот цикл получит все ключи