-3

HashMap<Integer, String>これは値を格納するためのもので、この値に関連付けStringられています。私の知る限り、 に値 とStringを入力するHashMapと、値によって (ここの値は であるIntegerため) 昇順で並べ替えられます。
そして今、私がやりたいのは、ランク1からランク4までの値を取得することです。キーの値がわからない場合、どうすればよいですか?

4

5 に答える 5

6

いいえ、これは正しくありません:

値でソートするハッシュマップ

HashMap はキー順ではありません。それが必要な場合は、TreeMap を使用する必要があります。キーの自然順序付けを使用します。

LinkedHashMap を使用すると、挿入順序が保持されます。それを知っておくと便利かもしれません。

Mapインターフェースを実装するすべてのクラスの javadoc を注意深く読むことに時間を費やすことで、より適切な回答が得られる質問をする時間を減らしたほうがよいでしょう。コレクションのチュートリアルのツアーも役立つかもしれません。

于 2013-04-18T13:20:57.917 に答える
1

HashMapソートされることはありません。

TreeMap、逆に は自然な順序でソートされIntegerます。

したがって、 a を使用しTreeMapてそれを反復処理し、最初の 4 つの値を取得できます。

于 2013-04-18T13:21:55.997 に答える
1

HashMap何もソートせず、要素の hascode と equals メソッドに基づいて要素を挿入します。Treemap要素の並べ替えが必要な場合は、代わりに使用してください。

于 2013-04-18T13:21:58.530 に答える
1

TreeMapキーの自然順序付けに従って、またはマップ作成時に提供される Comparator によってソートされるものを使用します。

HashMap秩序を保っていません。

詳細については、TreeMapを参照してください

于 2013-04-18T13:23:31.530 に答える
1

ハッシュマップは、ハッシュマップに入れている値をソートしません。

于 2013-04-18T13:23:48.983 に答える