人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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のキーをソートするにはどうしたらいいでしょうか?

●質問者: zachouR
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3

ひとつのやり方は、キーを 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());

a-kuma3さんのコメント
あ、HashMap のままで、ってこと? それは無理。 だって、突っ込んだ順番にすらなってない。 取り出すときに、整列されたキーのリストを使うか、TreeMap を使うしかないです。

きゃづみぃさんのコメント
自分でクイックソートさせればいい。

zachouRさんのコメント
解答ありがとうございました。TreeMapを使用して見ることにしましたm(__)m
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ