1. ホーム
  2. java

ハッシュマップからキーのリストを返すには?

2023-10-05 16:56:19

質問

現在、スペイン語に動詞を活用させるプログラムを作ろうとしています。 私は、キーとオブジェクト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を返すようにすべきでしょうか? それとも、もっと効率的な方法があるのでしょうか?

どのように解決するのですか?

を使用します。 keySet() メソッドを使うと Map .

Map を順番に並べたい場合は TreeMap .