1. ホーム
  2. java

[解決済み] ハッシュマップから1つのエントリを反復せずに取得する方法

2022-04-17 06:55:23

質問

を1つだけ取得するエレガントな方法はありますか? Entry<K,V> HashMapから、キーが既知でない場合、反復することなく。

エントリーの順番は重要ではないので、次のように言うことができます。

hashMapObject.get(zeroth_index);

しかし、このようなインデックスによる取得方法が存在しないことは承知しています。

以下のようなアプローチをとってみると それでも、ハッシュマップのすべてのエントリセットを取得する必要があります。 .

for(Map.Entry<String, String> entry : MapObj.entrySet()) {
    return entry;
}

ご提案をお待ちしております。

EDIT: 要件を満たす他のデータ構造を提案してください。

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

Jesperの回答は良いものです。他の解決策は、TreeMapを使うことです(あなたは他のデータ構造について質問しました)。

TreeMap<String, String> myMap = new TreeMap<String, String>();
String first = myMap.firstEntry().getValue();
String firstOther = myMap.get(myMap.firstKey());

TreeMapはオーバーヘッドがあるので、HashMapの方が高速ですが、あくまで代替ソリューションの一例としてご覧ください。