以下のプログラムがあったとします、


Map<Integer, String> map = new HashMap<Integer, String>();

map.put( 0 , "abc" );
map.put( 4 , "efg" );
map.put( 1 , "hij" );
map.put( 3 , "klm" );
map.put( 2 , "npo" );

これで、mapのキーをソートするにはどうしたらいいでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/09/17 18:05:04

回答1件)

id:a-kuma3 No.1

回答回数4974ベストアンサー獲得回数2154

ひとつのやり方は、キーを List に突っ込んで、ソートする。

    Map<Integer, String> map = new HashMap<Integer, String>();
        ...
    List<Integer> keyList = new ArrayList<Integer>(map.keySet());
    Collections.sort(keyList);

もうひとつのやり方は、キーがソートされる TreeMap を使う。

    Map<Integer, String> map = new TreeMap<Integer, String>();
        ...
    List<Integer> keyList = new ArrayList<Integer>(map.keySet());
他1件のコメントを見る
id:taknt

自分でクイックソートさせればいい。

2013/09/10 19:01:51
id:zachouR

解答ありがとうございました。TreeMapを使用して見ることにしましたm(__)m

2013/09/11 10:02:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません