HashMap<Integer, String>
これは値を格納するためのもので、この値に関連付けString
られています。私の知る限り、 に値 とString
を入力するHashMap
と、値によって (ここの値は であるInteger
ため) 昇順で並べ替えられます。
そして今、私がやりたいのは、ランク1からランク4までの値を取得することです。キーの値がわからない場合、どうすればよいですか?
5 に答える
いいえ、これは正しくありません:
値でソートするハッシュマップ
HashMap はキー順ではありません。それが必要な場合は、TreeMap を使用する必要があります。キーの自然順序付けを使用します。
LinkedHashMap を使用すると、挿入順序が保持されます。それを知っておくと便利かもしれません。
Map
インターフェースを実装するすべてのクラスの javadoc を注意深く読むことに時間を費やすことで、より適切な回答が得られる質問をする時間を減らしたほうがよいでしょう。コレクションのチュートリアルのツアーも役立つかもしれません。
HashMap
ソートされることはありません。
TreeMap
、逆に は自然な順序でソートされInteger
ます。
したがって、 a を使用しTreeMap
てそれを反復処理し、最初の 4 つの値を取得できます。
HashMap
何もソートせず、要素の hascode と equals メソッドに基づいて要素を挿入します。Treemap
要素の並べ替えが必要な場合は、代わりに使用してください。
TreeMap
キーの自然順序付けに従って、またはマップ作成時に提供される Comparator によってソートされるものを使用します。
HashMap
秩序を保っていません。
詳細については、TreeMapを参照してください
ハッシュマップは、ハッシュマップに入れている値をソートしません。