2009年6月13日土曜日

HashMap を Value 値でソート

HashMap を Value 値でソートしてみた。 (JDK6)

HashMap の作成
Map scores = new HashMap();

Key は String、 Value は数値から Integer オブジェクトを入れてある。

昇順でソートしてみると

List<Map.Entry> entries = new ArrayList<Map.Entry>(scores.entrySet());
Collections.sort(entries, new Comparator(){
    public int compare(Object o1, Object o2){
        Map.Entry e1 =(Map.Entry)o1;
        Map.Entry e2 =(Map.Entry)o2;
        return ((Integer)e1.getValue()).compareTo((Integer)e2.getValue());
    }
});

取り出しは

for (Map.Entry entry : entries) {
    // entry.getKey()entry.getValue() を使ってみた。
}

0 件のコメント:

コメントを投稿