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を参照してください
ハッシュマップは、ハッシュマップに入れている値をソートしません。